rspec-ee integration pg11 3/4
Passed Started
by
@patrickbajao

Patrick Bajao
1Running with gitlab-runner 13.9.0-rc2 (69c049fd)2 on prm-com-gitlab-org bd0915563 feature flags: FF_GITLAB_REGISTRY_HELPER_IMAGE:true6Using Docker executor with image registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.7.2.patched-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.34 ...7Starting service postgres:11.6 ...8Pulling docker image postgres:11.6 ...9Using docker image sha256:2c963c0eb8c6efa49bb8352ea446f248d208d674cfc34fc9ea275b5f99f8dedd for postgres:11.6 with digest postgres@sha256:6f2062ab11d720f4756f17da4d0a64534346cce33b7cdea9d7ac4f43eed9fc02 ...10Starting service redis:5.0-alpine ...11Pulling docker image redis:5.0-alpine ...12Using docker image sha256:f5b24aafdf93a05581fac6db4430badb2024b27c7d6c29eb3144b01828ac5a07 for redis:5.0-alpine with digest redis@sha256:6151b520d9ac29c1524d9637e0b3dc69cba7dbef27a427d6dba355652fff8306 ...13Starting service elasticsearch:7.10.1 ...14Pulling docker image elasticsearch:7.10.1 ...15Using docker image sha256:558380375f1a36c20e67c3a0b7bf715c659d75520d0e688b066d5e708918d716 for elasticsearch:7.10.1 with digest elasticsearch@sha256:7cd88158f6ac75d43b447fdd98c4eb69483fa7bf1be5616a85fe556262dc864a ...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.2.patched-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.34 ...19Using docker image sha256:4d23ed899afed063085b02cb83fa639d1a880dc4059e6c7f0af9ee9b713ba41b for registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.7.2.patched-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.34 with digest registry.gitlab.com/gitlab-org/gitlab-build-images@sha256:d70df1af0359f58b269fab0d70a090bca324eba3a03e465146b10aef05de3273 ...21Running on runner-bd091556-project-278964-concurrent-0 via runner-bd091556-prm-1614759373-7ce67d50...23$ eval "$CI_PRE_CLONE_SCRIPT"24Downloading archived master...25Connecting to storage.googleapis.com (172.217.193.128:443)26saving to '/tmp/gitlab.tar.gz'27gitlab.tar.gz 3% |* | 14.4M 0:00:26 ETA28gitlab.tar.gz 30% |********* | 121M 0:00:04 ETA29gitlab.tar.gz 61% |******************* | 243M 0:00:01 ETA30gitlab.tar.gz 89% |**************************** | 355M 0:00:00 ETA31gitlab.tar.gz 100% |********************************| 396M 0:00:00 ETA32'/tmp/gitlab.tar.gz' saved33Extracting tarball into /builds/gitlab-org/gitlab...34Fetching changes with git depth set to 20...35Reinitialized existing Git repository in /builds/gitlab-org/gitlab/.git/36remote: Enumerating objects: 1210, done. 37remote: Counting objects: 100% (645/645), done. 38remote: Compressing objects: 100% (248/248), done. 39remote: Total 320 (delta 256), reused 130 (delta 68), pack-reused 040Receiving objects: 100% (320/320), 40.40 KiB | 3.37 MiB/s, done.41Resolving deltas: 100% (256/256), completed with 120 local objects.43 * [new ref] 4996f4cc3b5cc82b8b493bfd2a4ced37e8cf757c -> refs/pipelines/26473258744Checking out 4996f4cc as refs/merge-requests/55046/merge...45Skipping Git submodules setup47Checking cache for rails-v4-3...48cache.zip is up to date 49WARNING: vendor/ruby/2.7.0/gems/deprecation_toolkit-1.5.1/gemfiles/test/deprecations: chmod vendor/ruby/2.7.0/gems/deprecation_toolkit-1.5.1/gemfiles/test/deprecations: no such file or directory (suppressing repeats) 50Successfully extracted cache52Downloading artifacts for compile-test-assets (1069711722)...53Downloading artifacts from coordinator... ok id=1069711722 responseStatus=200 OK token=cQ-zkx2s54Downloading artifacts for detect-tests (1069711729)...55Downloading artifacts from coordinator... ok id=1069711729 responseStatus=200 OK token=4KJ6tsyT56Downloading artifacts for retrieve-tests-metadata (1069711731)...57Downloading artifacts from coordinator... ok id=1069711731 responseStatus=200 OK token=nMSW8ysV58Downloading artifacts for setup-test-env (1069711725)...59Downloading artifacts from coordinator... ok id=1069711725 responseStatus=200 OK token=fSmN9Jtk60WARNING: tmp/tests/gitlab-shell/.gitlab_shell_secret: chmod tmp/tests/gitlab-shell/.gitlab_shell_secret: no such file or directory (suppressing repeats) 62Using docker image sha256:4d23ed899afed063085b02cb83fa639d1a880dc4059e6c7f0af9ee9b713ba41b for registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.7.2.patched-golang-1.14-git-2.29-lfs-2.9-chrome-87-node-14.15-yarn-1.22-postgresql-11-graphicsmagick-1.3.34 with digest registry.gitlab.com/gitlab-org/gitlab-build-images@sha256:d70df1af0359f58b269fab0d70a090bca324eba3a03e465146b10aef05de3273 ...63$ [ "$FOSS_ONLY" = "1" ] && rm -rf ee/ qa/spec/ee/ qa/qa/specs/features/ee/ qa/qa/ee/ qa/qa/ee.rb64$ export GOPATH=$CI_PROJECT_DIR/.go65$ mkdir -p $GOPATH66$ source scripts/utils.sh67$ source scripts/prepare_build.sh68Bundler version 2.1.469$ bundle install --without=production development --jobs=2 --path=vendor --retry=3 --quiet70==> 'bundle install --without=production development --jobs=2 --path=vendor --retry=3 --quiet' succeeded in 1 seconds.71$ bundle check72The Gemfile's dependencies are satisfied73==> 'bundle check' succeeded in 1 seconds.74$ bundle pristine pg75Installing pg 1.2.3 with native extensions76==> 'bundle pristine pg' succeeded in 11 seconds.77$ setup_db_user_only78CREATE ROLE79GRANT80==> 'setup_db_user_only' succeeded in 0 seconds.81$ bundle exec rake db:drop db:create db:structure:load db:migrate gitlab:db:setup_ee82Dropped database 'gitlabhq_test'83Created database 'gitlabhq_test'84Dropped database 'gitlabhq_geo_test'85Created database 'gitlabhq_geo_test'86==> 'bundle exec rake db:drop db:create db:structure:load db:migrate gitlab:db:setup_ee' succeeded in 27 seconds.87$ run_timed_command "gem install knapsack --no-document"88$ gem install knapsack --no-document89Successfully installed knapsack-1.20.0901 gem installed91==> 'gem install knapsack --no-document' succeeded in 1 seconds.92$ run_timed_command "scripts/gitaly-test-spawn"93$ scripts/gitaly-test-spawn94Settings are listed in order of priority. The top value will be used.95retry96Set for your local app (/builds/gitlab-org/gitlab/tmp/tests/gitaly/ruby/.bundle/config/config): 397path98Set for your local app (/builds/gitlab-org/gitlab/tmp/tests/gitaly/ruby/.bundle/config/config): "/builds/gitlab-org/gitlab/vendor/gitaly-ruby"99jobs100Set for your local app (/builds/gitlab-org/gitlab/tmp/tests/gitaly/ruby/.bundle/config/config): 4101app_config102Set via BUNDLE_APP_CONFIG: "/builds/gitlab-org/gitlab/tmp/tests/gitaly/ruby/.bundle/config"103gemfile104Set via BUNDLE_GEMFILE: "/builds/gitlab-org/gitlab/tmp/tests/gitaly/ruby/Gemfile"105flags106Set via BUNDLE_FLAGS: "--jobs=4 --retry=3 --path=/builds/gitlab-org/gitlab/vendor/gitaly-ruby"107Don't run Bundler as root. Bundler can ask for sudo if it is needed, and108installing your bundle as root will break this application for all non-root109users on this machine.110Using abstract_type 0.0.7111Using concurrent-ruby 1.1.7112Using i18n 1.8.5113Using minitest 5.14.2114Using thread_safe 0.3.6115Using tzinfo 1.2.9116Using zeitwerk 2.4.2117Using activesupport 6.0.3.4118Using builder 3.2.4119Using erubi 1.10.0120Using mini_portile2 2.5.0121Using racc 1.5.2122Using nokogiri 1.11.1 (x86_64-linux)123Using rails-dom-testing 2.0.3124Using crass 1.0.6125Using loofah 2.9.0126Using rails-html-sanitizer 1.3.0127Using actionview 6.0.3.4128Using rack 2.2.3129Using rack-test 1.1.0130Using actionpack 6.0.3.4131Using ice_nine 0.11.2132Using memoizable 0.4.2133Using adamantium 0.2.0134Using public_suffix 4.0.6135Using addressable 2.7.0136Using ast 2.4.1137Using binding_ninja 0.2.3138Using bundler 2.1.4139Using charlock_holmes 0.7.7140Using coderay 1.1.2141Using equalizer 0.0.11142Using concord 0.1.5143Using diff-lcs 1.3144Using dotenv 2.7.6145Using escape_utils 1.2.1146Using factory_bot 5.0.2147Using multipart-post 2.1.1148Using faraday 1.0.1149Using ffi 1.13.1150Using json 2.5.1151Using gemojione 3.3.0152Using mini_mime 1.0.2153Using rugged 1.0.1154Using github-linguist 7.12.1155Using github-markup 1.7.0156Using mime-types-data 3.2020.1104157Using mime-types 3.3.1158Using gitlab-gollum-rugged_adapter 0.4.4.3.gitlab.1159Using rouge 3.26.0160Using nokogumbo 1.5.0161Using sanitize 4.6.6162Using stringex 2.8.5163Using gitlab-gollum-lib 4.2.7.10.gitlab.1164Using google-protobuf 3.12.4 (x86_64-linux)165Using googleapis-common-protos-types 1.0.5166Using grpc 1.30.2 (x86_64-linux)167Using opentracing 0.5.0168Using thrift 0.13.0169Using jaeger-client 1.1.0170Using pg_query 1.3.0171Using redis 4.2.5172Using gitlab-labkit 0.15.0173Using gitlab-markup 1.7.1174Using grpc-tools 1.30.2175Using sawyer 0.8.2176Using octokit 4.20.0177Using reverse_markdown 1.4.0178Using thor 1.1.0179Using licensee 9.14.1180Using method_source 0.9.2181Using msgpack 1.3.3182Using optimist 3.0.1183Using parallel 1.19.2184Using parser 2.7.2.0185Using procto 0.0.3186Using unparser 0.4.7187Using proc_to_ast 0.1.0188Using pry 0.12.2189Using rainbow 3.0.0190Using rbtrace 0.4.14191Using rdoc 6.2.0192Using regexp_parser 1.8.1193Using rexml 3.2.4194Using rspec-support 3.8.0195Using rspec-core 3.8.0196Using rspec-expectations 3.8.3197Using rspec-mocks 3.8.0198Using rspec 3.8.0199Using rspec-parameterized 0.4.2200Using rubocop-ast 0.2.0201Using ruby-progressbar 1.10.1202Using unicode-display_width 1.7.0203Using rubocop 0.86.0204Using sentry-raven 3.0.4205Using timecop 0.9.1206Bundle complete! 21 Gemfile dependencies, 96 gems now installed.207Bundled gems are installed into `/builds/gitlab-org/gitlab/vendor/gitaly-ruby`208Checking gitaly-ruby Gemfile...209Checking gitaly-ruby bundle...210The Gemfile's dependencies are satisfied211Trying to connect to gitaly: ........ OK212Trying to connect to gitaly2: ................... OK213Trying to connect to praefect: .......... OK214==> 'scripts/gitaly-test-spawn' succeeded in 5 seconds.215$ source ./scripts/rspec_helpers.sh216$ rspec_paralellized_job "--tag ~quarantine --tag ~geo --tag ~level:migration"217KNAPSACK_TEST_FILE_PATTERN: ee/spec/{controllers,mailers,requests}{,/**/}*_spec.rb218Knapsack node specs:219ee/spec/requests/api/vulnerabilities_spec.rb220ee/spec/requests/api/members_spec.rb221ee/spec/requests/api/notes_spec.rb222ee/spec/controllers/groups/analytics/cycle_analytics/stages_controller_spec.rb223ee/spec/requests/api/groups_spec.rb224ee/spec/requests/api/issues_spec.rb225ee/spec/requests/api/ldap_group_links_spec.rb226ee/spec/requests/api/graphql/mutations/epic_tree/reorder_spec.rb227ee/spec/requests/api/merge_request_approval_rules_spec.rb228ee/spec/controllers/ee/groups_controller_spec.rb229ee/spec/controllers/projects/licenses_controller_spec.rb230ee/spec/requests/api/merge_requests_spec.rb231ee/spec/requests/projects/merge_requests_controller_spec.rb232ee/spec/requests/admin/credentials_controller_spec.rb233ee/spec/requests/api/epic_links_spec.rb234ee/spec/controllers/groups/epic_links_controller_spec.rb235ee/spec/controllers/projects/dependencies_controller_spec.rb236ee/spec/requests/api/graphql/group/epics_spec.rb237ee/spec/requests/api/group_boards_spec.rb238ee/spec/requests/api/geo_spec.rb239ee/spec/controllers/ee/projects/jobs_controller_spec.rb240ee/spec/controllers/projects/clusters_controller_spec.rb241ee/spec/requests/git_http_spec.rb242ee/spec/requests/api/project_approval_rules_spec.rb243ee/spec/requests/api/project_aliases_spec.rb244ee/spec/controllers/registrations/groups_controller_spec.rb245ee/spec/controllers/groups/merge_requests_controller_spec.rb246ee/spec/controllers/groups/insights_controller_spec.rb247ee/spec/requests/api/graphql/mutations/dast_on_demand_scans/create_spec.rb248ee/spec/requests/api/graphql/boards/epic_board_list_epics_query_spec.rb249ee/spec/requests/api/resource_label_events_spec.rb250ee/spec/requests/api/graphql/mutations/issues/update_spec.rb251ee/spec/controllers/projects/approver_groups_controller_spec.rb252ee/spec/requests/api/graphql/mutations/dast_site_validations/create_spec.rb253ee/spec/requests/api/jobs_spec.rb254ee/spec/requests/api/graphql/mutations/boards/create_spec.rb255ee/spec/requests/api/graphql/epics/epic_resolver_spec.rb256ee/spec/requests/api/graphql/mutations/dast/profiles/run_spec.rb257ee/spec/requests/api/resource_iteration_events_spec.rb258ee/spec/requests/api/graphql/group/epic/epic_aggregate_query_spec.rb259ee/spec/requests/api/graphql/mutations/issues/promote_to_epic_spec.rb260ee/spec/requests/api/graphql/mutations/dast_site_tokens/create_spec.rb261ee/spec/requests/api/graphql/mutations/dast_scanner_profiles/delete_spec.rb262ee/spec/requests/api/merge_trains_spec.rb263ee/spec/requests/api/graphql/group/epic/notes_spec.rb264ee/spec/controllers/groups/analytics/productivity_analytics_controller_spec.rb265ee/spec/requests/repositories/git_http_controller_spec.rb266ee/spec/requests/api/dependencies_spec.rb267ee/spec/requests/smartcard_controller_spec.rb268ee/spec/controllers/projects/audit_events_controller_spec.rb269ee/spec/controllers/subscriptions/groups_controller_spec.rb270ee/spec/requests/api/graphql/namespace/projects_spec.rb271ee/spec/controllers/projects/deploy_keys_controller_spec.rb272ee/spec/requests/api/graphql/mutations/iterations/update_spec.rb273ee/spec/controllers/projects/security/dashboard_controller_spec.rb274ee/spec/controllers/projects/security/api_fuzzing_configuration_controller_spec.rb275ee/spec/requests/api/ci/runner_spec.rb276ee/spec/requests/api/graphql/iteration_spec.rb277ee/spec/requests/api/graphql/mutations/dast_site_validations/revoke_spec.rb278ee/spec/requests/projects/requirements_management/requirements_controller_spec.rb279ee/spec/requests/api/graphql/mutations/clusters/agents/create_spec.rb280ee/spec/requests/api/graphql/project/requirements_management/test_reports_spec.rb281ee/spec/requests/api/internal/kubernetes_spec.rb282ee/spec/requests/api/group_clusters_spec.rb283ee/spec/requests/projects/security/dast_profiles_controller_spec.rb284ee/spec/requests/projects/audit_events_spec.rb285ee/spec/requests/api/graphql/mutations/alert_management/http_integration/create_spec.rb286ee/spec/controllers/projects/analytics/merge_request_analytics_controller_spec.rb287ee/spec/requests/api/graphql/mutations/vulnerabilities/create_external_issue_link_spec.rb288ee/spec/requests/api/graphql/project/pipeline/security_report_finding_spec.rb289ee/spec/controllers/ee/sessions_controller_spec.rb290ee/spec/controllers/groups/roadmap_controller_spec.rb291ee/spec/requests/api/repositories_spec.rb292ee/spec/requests/api/graphql/project/cluster_agents_spec.rb293ee/spec/requests/api/graphql/project/dast_scanner_profiles_spec.rb294ee/spec/requests/api/license_spec.rb295ee/spec/requests/projects/security/scanned_resources_controller_spec.rb296ee/spec/controllers/groups/analytics/cycle_analytics_controller_spec.rb297ee/spec/controllers/subscriptions_controller_spec.rb298ee/spec/controllers/projects/incident_management/oncall_schedules_controller_spec.rb299ee/spec/requests/api/graphql/vulnerabilities/issue_links_spec.rb300ee/spec/requests/api/iterations_spec.rb301ee/spec/mailers/ci_minutes_usage_mailer_spec.rb302ee/spec/requests/api/analytics/group_activity_analytics_spec.rb303ee/spec/requests/api/graphql/mutations/compliance_management/frameworks/create_spec.rb304ee/spec/controllers/groups/analytics/merge_request_analytics_controller_spec.rb305ee/spec/requests/api/graphql/mutations/requirements_management/create_requirement_spec.rb306ee/spec/requests/api/graphql/mutations/notes/create/note_spec.rb307ee/spec/controllers/groups/security/dashboard_controller_spec.rb308ee/spec/requests/api/graphql/mutations/compliance_management/frameworks/update_spec.rb309ee/spec/requests/api/graphql/mutations/boards/lists/create_spec.rb310ee/spec/requests/api/graphql/project/alert_management/integrations_spec.rb311ee/spec/requests/api/graphql/project/alert_management/http_integrations_spec.rb312ee/spec/requests/api/graphql/query_spec.rb313ee/spec/controllers/boards/users_controller_spec.rb314ee/spec/requests/api/graphql/projects/compliance_frameworks_spec.rb315ee/spec/requests/api/graphql/mutations/boards/update_epic_user_preferences_spec.rb316ee/spec/controllers/admin/elasticsearch_controller_spec.rb317ee/spec/controllers/registrations/welcome_controller_spec.rb318ee/spec/controllers/ee/sent_notifications_controller_spec.rb319ee/spec/requests/api/internal/base_spec.rb320ee/spec/requests/api/graphql/mutations/vulnerabilities/destroy_external_issue_link_spec.rb321ee/spec/controllers/security/dashboard_controller_spec.rb322ee/spec/requests/groups/compliance_frameworks_spec.rb323ee/spec/requests/jwt_controller_spec.rb324ee/spec/requests/projects/mirrors_controller_spec.rb325ee/spec/mailers/emails/requirements_spec.rb326ee/spec/controllers/security/vulnerabilities_controller_spec.rb327ee/spec/requests/api/features_spec.rb328ee/spec/controllers/repositories/git_http_controller_spec.rb329ee/spec/controllers/profiles_controller_spec.rb330ee/spec/controllers/profiles/billings_controller_spec.rb331ee/spec/requests/api/graphql/mutations/admin/analytics/devops_adoption/segments/create_spec.rb332ee/spec/controllers/unsubscribes_controller_spec.rb333ee/spec/controllers/ee/search_controller_spec.rb334ee/spec/requests/omniauth_kerberos_spnego_spec.rb335ee/spec/controllers/groups/seat_usage_controller_spec.rb336ee/spec/controllers/admin/groups_controller_spec.rb337ee/spec/requests/rack_attack_global_spec.rb338ee/spec/requests/api/graphql/vulnerabilities/scanner_spec.rb339ee/spec/requests/api/graphql/mutations/environments/canary_ingress/update_spec.rb340ee/spec/requests/api/graphql/mutations/incident_management/oncall_schedule/destroy_spec.rb341ee/spec/controllers/admin/audit_log_reports_controller_spec.rb342ee/spec/controllers/profiles/keys_controller_spec.rb343ee/spec/requests/projects/pipelines_controller_spec.rb344ee/spec/controllers/oauth/applications_controller_spec.rb345ee/spec/mailers/license_mailer_spec.rb346ee/spec/requests/api/graphql/project/vulnerability_severities_count_spec.rb347ee/spec/controllers/survey_responses_controller_spec.rb348ee/spec/controllers/country_states_controller_spec.rb349Filter specs:350Running specs:351Running all node tests without filter352ee/spec/requests/api/vulnerabilities_spec.rb353ee/spec/requests/api/members_spec.rb354ee/spec/requests/api/notes_spec.rb355ee/spec/controllers/groups/analytics/cycle_analytics/stages_controller_spec.rb356ee/spec/requests/api/groups_spec.rb357ee/spec/requests/api/issues_spec.rb358ee/spec/requests/api/ldap_group_links_spec.rb359ee/spec/requests/api/graphql/mutations/epic_tree/reorder_spec.rbKnapsack report generator started!360WARNING: `around(:context)` hooks are not supported and behave like `around(:example). Called from /builds/gitlab-org/gitlab/spec/support/omniauth_strategy.rb:36:in `block in <top (required)>'.361Run options:362 include {:focus=>true}363 exclude {:quarantine=>true, :geo=>true, :level=>"migration"}364All examples were filtered out; ignoring {:focus=>true}365==> Setting up GitLab Workhorse...366 GitLab Workhorse set up in 67.231909064 seconds...367==> Setting up gitlab-test bare repository in /builds/gitlab-org/gitlab/tmp/tests/gitlab-test_bare...368 /builds/gitlab-org/gitlab/tmp/tests/gitlab-test_bare set up in 0.036150532 seconds...369API::Vulnerabilities370 GET /projects/:id/vulnerabilities371 with an authorized user with proper permissions372 returns all vulnerabilities of a project373 with pagination374 paginates the vulnerabilities according to the pagination params375 behaves like forbids access to vulnerability API endpoint in case of disabled features376 when security dashboard feature is not available377 responds with 403 Forbidden378 permissions379 is expected to be allowed for :admin380 is expected to be allowed for :owner381 is expected to be allowed for :maintainer382 is expected to be allowed for :developer383 is expected to be allowed for :auditor384 is expected to be denied for :reporter385 is expected to be denied for :guest386 is expected to be denied for :anonymous387 GET /vulnerabilities/:id388 with an authorized user with proper permissions389 returns the desired vulnerability390 returns the desired findings391 behaves like responds with "not found" for an unknown vulnerability ID392 is expected to respond with numeric status code not_found393 behaves like forbids access to vulnerability API endpoint in case of disabled features394 when security dashboard feature is not available395 responds with 403 Forbidden396 permissions397 is expected to be allowed for :admin398 is expected to be allowed for :owner399 is expected to be allowed for :maintainer400 is expected to be allowed for :developer401 is expected to be allowed for :auditor402 is expected to be denied for :reporter403 is expected to be denied for :guest404 is expected to be denied for :anonymous405 POST /projects/:id/vulnerabilities406 with an authorized user with proper permissions407 creates a vulnerability from finding and attaches it to the vulnerability408 when finding id is unknown409 responds with expected error410 when a vulnerability already exists for a specific finding411 rejects creation of a new vulnerability from this finding412 behaves like forbids access to vulnerability API endpoint in case of disabled features413 when security dashboard feature is not available414 responds with 403 Forbidden415 permissions416 is expected to be allowed for :admin417 is expected to be allowed for :owner418 is expected to be allowed for :maintainer419 is expected to be allowed for :developer420 is expected to be denied for :auditor421 is expected to be denied for :reporter422 is expected to be denied for :guest423 is expected to be denied for :anonymous424 POST /vulnerabilities:id/dismiss425 with an authorized user with proper permissions426 dismisses a vulnerability and its associated findings427 behaves like responds with "not found" for an unknown vulnerability ID428 is expected to respond with numeric status code not_found429 when there is a dismissal error430 responds with error431 if a vulnerability is already dismissed432 responds with 304 Not Modified433 behaves like forbids access to vulnerability API endpoint in case of disabled features434 when security dashboard feature is not available435 responds with 403 Forbidden436 permissions437 is expected to be allowed for :admin438 is expected to be allowed for :owner439 is expected to be allowed for :maintainer440 is expected to be allowed for :developer441 is expected to be denied for :auditor442 is expected to be denied for :reporter443 is expected to be denied for :guest444 is expected to be denied for :anonymous445 POST /vulnerabilities/:id/resolve446 with an authorized user with proper permissions447 resolves a vulnerability and its associated findings448 behaves like responds with "not found" for an unknown vulnerability ID449 is expected to respond with numeric status code not_found450 when the vulnerability is already resolved451 responds with 304 Not Modified response452 behaves like forbids access to vulnerability API endpoint in case of disabled features453 when security dashboard feature is not available454 responds with 403 Forbidden455 permissions456 is expected to be allowed for :admin457 is expected to be allowed for :owner458 is expected to be allowed for :maintainer459 is expected to be allowed for :developer460 is expected to be denied for :auditor461 is expected to be denied for :reporter462 is expected to be denied for :guest463 is expected to be denied for :anonymous464 POST /vulnerabilities/:id/confirm465 with an authorized user with proper permissions466 confirms a vulnerability and its associated findings467 behaves like responds with "not found" for an unknown vulnerability ID468 is expected to respond with numeric status code not_found469 when the vulnerability is already confirmed470 responds with 304 Not Modified response471 behaves like forbids access to vulnerability API endpoint in case of disabled features472 when security dashboard feature is not available473 responds with 403 Forbidden474 permissions475 is expected to be allowed for :admin476 is expected to be allowed for :owner477 is expected to be allowed for :maintainer478 is expected to be allowed for :developer479 is expected to be denied for :auditor480 is expected to be denied for :reporter481 is expected to be denied for :guest482 is expected to be denied for :anonymous483 POST /vulnerabilities:id/revert484 with an authorized user with proper permissions485 reverts a vulnerability and its associated findings to detected state486 behaves like responds with "not found" for an unknown vulnerability ID487 is expected to respond with numeric status code not_found488 when there is a revert error489 responds with error490 if a vulnerability is already in detected state491 responds with 304 Not Modified492 behaves like forbids access to vulnerability API endpoint in case of disabled features493 when security dashboard feature is not available494 responds with 403 Forbidden495 permissions496 is expected to be allowed for :admin497 is expected to be allowed for :owner498 is expected to be allowed for :maintainer499 is expected to be allowed for :developer500 is expected to be denied for :auditor501 is expected to be denied for :reporter502 is expected to be denied for :guest503 is expected to be denied for :anonymous504API::Members505 group members endpoints for group with minimal access feature506 GET /groups/:id/members507 returns user with minimal access when feature is available508 does not return user with minimal access when feature is unavailable509 POST /groups/:id/members510 when minimal access role is not available511 does not create a member512 when minimal access role is available513 creates a member514 PUT /groups/:id/members/:user_id515 when minimal access role is available516 updates the member517 when minimal access role is not available518 does not update the member519 DELETE /groups/:id/members/:user_id520 when minimal access role is available521 deletes the member522 when minimal access role is not available523 does not delete the member524 GET /groups/:id/members/:user_id525 when minimal access role is available526 shows the member527 when minimal access role is not available528 does not show the member529 group members endpoint for group managed accounts530 GET /groups/:id/members531 behaves like members response with exposed emails532 is expected to include (a hash including {"email" => "user346@example.org"})533 behaves like members response with hidden emails534 is expected not to include (a hash including {"email" => "user348@example.org"})535 GET /groups/:id/members/:user_id536 with group managed account member537 behaves like member response with exposed email538 is expected to include {"email" => "user352@example.org"}539 with a regular member540 behaves like member response with hidden email541 is expected not to have key "email"542 GET /groups/:id/members/all543 parent group544 behaves like members response with exposed emails545 is expected to include (a hash including {"email" => "user358@example.org"})546 behaves like members response with hidden emails547 is expected not to include (a hash including {"email" => "user362@example.org"})548 child group549 behaves like members response with exposed emails550 is expected to include (a hash including {"email" => "user370@example.org"})551 behaves like members response with hidden emails552 is expected not to include (a hash including {"email" => "user374@example.org"})553 GET /groups/:id/members/all/:user_id554 with group managed account member555 behaves like member response with exposed email556 is expected to include {"email" => "user378@example.org"}557 with regular member558 behaves like member response with hidden email559 is expected not to have key "email"560 with group managed account child group member561 behaves like member response with exposed email562 is expected to include {"email" => "user390@example.org"}563 with child group regular member564 behaves like member response with hidden email565 is expected not to have key "email"566 project members endpoint for group managed accounts567 GET /projects/:id/members568 behaves like members response with exposed emails569 is expected to include (a hash including {"email" => "user400@example.org"})570 behaves like members response with hidden emails571 is expected not to include (a hash including {"email" => "user404@example.org"})572 GET /projects/:id/members/:user_id573 with group managed account member574 behaves like member response with exposed email575 is expected to include {"email" => "user410@example.org"}576 with a regular member577 behaves like member response with hidden email578 is expected not to have key "email"579 GET /project/:id/members/all580 parent group project581 behaves like members response with exposed emails582 is expected to include (a hash including {"email" => "user420@example.org"})583 behaves like members response with hidden emails584 is expected not to include (a hash including {"email" => "user428@example.org"})585 child group project586 behaves like members response with exposed emails587 is expected to include (a hash including {"email" => "user442@example.org"})588 behaves like members response with hidden emails589 is expected not to include (a hash including {"email" => "user450@example.org"})590 GET /projects/:id/members/all/:user_id591 with group managed account member592 behaves like member response with hidden email593 is expected not to have key "email"594 with regular member595 behaves like member response with hidden email596 is expected not to have key "email"597 with group managed account child group member598 behaves like member response with exposed email599 is expected to include {"email" => "user478@example.org"}600 with child group regular member601 behaves like member response with hidden email602 is expected not to have key "email"603 GET /groups/:id/billable_members604 with sub group and projects605 returns paginated billable users606 when the current user does not have the :admin_group_member ability607 is a bad request608 with seach params provided609 returns the relevant billable users610 with search and sort params provided611 accepts only sorting options defined in a list612 does not accept query string not defined in a list613 when a specific sorting is provided614 returns the relevant billable users615 with non owner616 returns error617 when group can not be found618 returns error619 with non-root group620 returns error621 email622 when members have a public_email623 is expected to include (a hash including {"email" => "public@email.com"})624 when members have no public_email625 is expected to include (a hash including {"email" => ""})626 without LDAP627 POST /projects/:id/members628 group membership locked629 project in a group630 returns a 405 method not allowed error when group membership lock is enabled631 GET /groups/:id/members632 matches json schema633 when the flag gitlab_employee_badge is on and we are on gitlab.com634 includes is_gitlab_employee in the response635 when the flag gitlab_employee_badge is off636 does not include is_gitlab_employee in the response637 when we are not on gitlab.com638 does not include is_gitlab_employee in the response639 when a group has SAML provider configured640 and current_user is group owner641 returns a list of users with group SAML identities info642 allows to filter by linked identity presence643 and current_user is not an owner644 returns a list of users without group SAML identities info645 ignores filter by linked identity presence646 with is_using_seat647 with show_seat_info set to true648 returns a list of users that contains the is_using_seat attribute649 with show_seat_info set to false650 behaves like seat information not included651 returns a list of users that does not contain the is_using_seat attribute652 with no show_seat_info set653 behaves like seat information not included654 returns a list of users that does not contain the is_using_seat attribute655 behaves like POST /:source_type/:id/members656 with :source_type == projects657 creates an audit event while creating a new member658 does not create audit event if creating a new member fails659 behaves like POST /:source_type/:id/members660 with :source_type == groups661 creates an audit event while creating a new member662 does not create audit event if creating a new member fails663 group with LDAP group link664 GET /groups/:id/members/:user_id665 does not contain an override attribute for non-LDAP users in the response666 contains an override attribute for ldap users in the response667 PUT /groups/:id/members/:user_id668 succeeds when access_level is modified after override has been set669 fails when access level is modified without an override670 POST /groups/:id/members/:user_id/override671 succeeds when override is set on an LDAP user672 fails when override is set for a non-ldap user673 DELETE /groups/:id/members/:user_id/override with LDAP links674 succeeds when override is already set on an LDAP user675 returns 403 when override is set for a non-ldap user676API::Notes677 when noteable is an Epic678 behaves like noteable API679 GET /groups/:id/epics/:noteable_id/notes680 returns an array of notes681 returns a 404 error when noteable id not found682 returns 404 when not authorized683 sorting684 sorts by ascending order when requested685 sorts by updated_at in descending order when requested686 sorts by updated_at in ascending order when requested687 without sort params688 sorts by created_at in descending order by default689 fetches notes using parent path as id paremeter690 2 notes with equal created_at691 page breaks first page correctly692 page breaks second page correctly693 GET /groups/:id/epics/:noteable_id/notes/:note_id694 returns a note by id695 returns a 404 error if note not found696 POST /groups/:id/epics/:noteable_id/notes697 creates a new note698 creates a confidential note if confidential is set to true699 returns a 400 bad request error if body not given700 returns a 401 unauthorized error if user not authenticated701 creates an activity event when a note is created702 setting created_at703 by an admin704 sets the creation time on the new note705 by a group owner706 sets the creation time on the new note707 by another user708 ignores the given creation time709 when the user is posting an award emoji on a noteable created by someone else710 creates a new note711 when the user is posting an award emoji on their own noteable712 creates a new note713 when user does not have access to read the noteable714 responds with 404715 when request exceeds the rate limit716 prevents user from creating more notes717 allows user in allow-list to create notes718 PUT /groups/:id/epics/:noteable_id/notes/:note_id719 returns a 404 error when note id not found720 returns a 400 bad request error if body is empty721 when eveything is ok722 with multiple params present723 returns modified note724 updates the note725 when only body param is present726 updates only the note text727 when only confidential param is present728 updates only the note text729 DELETE /groups/:id/epics/:noteable_id/notes/:note_id730 deletes a note731 returns a 404 error when note id not found732 behaves like 412 response733 for a modified ressource734 returns 412 with a JSON error735 for an unmodified ressource736 returns 204 with an empty body737 when issue was promoted to epic738 when user is reporter739 returns previous issue system notes740 when user is guest741 does not return previous issue system notes742Groups::Analytics::CycleAnalytics::StagesController743 when params have only group_id744 behaves like Value Stream Analytics Stages controller745 GET #index746DEPRECATION WARNING: /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/devise-4.7.3/lib/devise/test/controller_helpers.rb:35: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call747/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/rails-controller-testing-1.0.5/lib/rails/controller/testing/template_assertions.rb:60: warning: The called method `process' is defined here748 (called from block (3 levels) in <top (required)> at /builds/gitlab-org/gitlab/ee/spec/support/shared_examples/controllers/analytics/cycle_analytics/shared_stage_shared_examples.rb:12)749 succeeds750 returns correct start events751 does not include internal events752 succeeds for subgroups753 renders `forbidden` based on the response of the service object754 when `group_id` is not found755 renders `not_found` when group is missing756 when user has no lower access level than `reporter`757 renders `forbidden` response758 when feature is not available for the group759 renders `forbidden` response760 POST #create761 renders the validation errors762 when `group_id` is not found763 renders `not_found` when group is missing764 when user has no lower access level than `reporter`765 renders `forbidden` response766 when feature is not available for the group767 renders `forbidden` response768 when valid parameters are given769 creates the stage770 PUT #update771 renders the validation errors772 when `group_id` is not found773 renders `not_found` when group is missing774 when user has no lower access level than `reporter`775 renders `forbidden` response776 when feature is not available for the group777 renders `forbidden` response778 when valid parameters are given779 succeeds780 updates the name attribute781 hidden attribute782 updates the hidden attribute783 when positioning parameter is given784 moves the stage before the last place785 DELETE #destroy786 when `group_id` is not found787 renders `not_found` when group is missing788 when user has no lower access level than `reporter`789 renders `forbidden` response790 when feature is not available for the group791 renders `forbidden` response792 when persisted stage id is passed793 succeeds794 deletes the record795 when default stage id is passed796 fails with `forbidden` response797 data endpoints798 GET #median799 matches the response schema800 when valid parameters are given801 succeeds802 accepts optional `project_ids` array803 succeeds804 when `created_before` is missing805 succeeds806 when `created_after` is missing807 succeeds808 when `created_after` is invalid, falls back to default date809 is expected to respond with numeric status code success810 when `created_before` is invalid811 renders `unprocessable_entity`812 when `created_after` is later than `created_before`813 renders `unprocessable_entity`814 when the date range exceeds 180 days815 renders `unprocessable_entity`816 GET #average817 matches the response schema818 when valid parameters are given819 succeeds820 accepts optional `project_ids` array821 succeeds822 when `created_before` is missing823 succeeds824 when `created_after` is missing825 succeeds826 when `created_after` is invalid, falls back to default date827 is expected to respond with numeric status code success828 when `created_before` is invalid829 renders `unprocessable_entity`830 when `created_after` is later than `created_before`831 renders `unprocessable_entity`832 when the date range exceeds 180 days833 renders `unprocessable_entity`834 GET #records835 when valid parameters are given836 succeeds837 accepts optional `project_ids` array838 succeeds839 when `created_before` is missing840 succeeds841 when `created_after` is missing842 succeeds843 when `created_after` is invalid, falls back to default date844 is expected to respond with numeric status code success845 when `created_before` is invalid846 renders `unprocessable_entity`847 when `created_after` is later than `created_before`848 renders `unprocessable_entity`849 when the date range exceeds 180 days850 renders `unprocessable_entity`851 when `group_id` is not found852 renders `not_found` when group is missing853 when user has no lower access level than `reporter`854 renders `forbidden` response855 when feature is not available for the group856 renders `forbidden` response857 sort params858 accepts sort params859 GET #duration_chart860 matches the response schema861 when valid parameters are given862 succeeds863 accepts optional `project_ids` array864 succeeds865 when `created_before` is missing866 succeeds867 when `created_after` is missing868 succeeds869 when `created_after` is invalid, falls back to default date870 is expected to respond with numeric status code success871 when `created_before` is invalid872 renders `unprocessable_entity`873 when `created_after` is later than `created_before`874 renders `unprocessable_entity`875 when the date range exceeds 180 days876 renders `unprocessable_entity`877 when `group_id` is not found878 renders `not_found` when group is missing879 when user has no lower access level than `reporter`880 renders `forbidden` response881 when feature is not available for the group882 renders `forbidden` response883 when params have group_id and value_stream_id884 behaves like Value Stream Analytics Stages controller885 GET #index886 succeeds887 returns correct start events888 does not include internal events889 succeeds for subgroups890 renders `forbidden` based on the response of the service object891 when `group_id` is not found892 renders `not_found` when group is missing893 when user has no lower access level than `reporter`894 renders `forbidden` response895 when feature is not available for the group896 renders `forbidden` response897 POST #create898 renders the validation errors899 when `group_id` is not found900 renders `not_found` when group is missing901 when user has no lower access level than `reporter`902 renders `forbidden` response903 when feature is not available for the group904 renders `forbidden` response905 when valid parameters are given906 creates the stage907 PUT #update908 renders the validation errors909 when `group_id` is not found910 renders `not_found` when group is missing911 when user has no lower access level than `reporter`912 renders `forbidden` response913 when feature is not available for the group914 renders `forbidden` response915 when valid parameters are given916 succeeds917 updates the name attribute918 hidden attribute919 updates the hidden attribute920 when positioning parameter is given921 moves the stage before the last place922 DELETE #destroy923 when `group_id` is not found924 renders `not_found` when group is missing925 when user has no lower access level than `reporter`926 renders `forbidden` response927 when feature is not available for the group928 renders `forbidden` response929 when persisted stage id is passed930 succeeds931 deletes the record932 when default stage id is passed933 fails with `forbidden` response934 data endpoints935 GET #median936 matches the response schema937 when valid parameters are given938 succeeds939 accepts optional `project_ids` array940 succeeds941 when `created_before` is missing942 succeeds943 when `created_after` is missing944 succeeds945 when `created_after` is invalid, falls back to default date946 is expected to respond with numeric status code success947 when `created_before` is invalid948 renders `unprocessable_entity`949 when `created_after` is later than `created_before`950 renders `unprocessable_entity`951 when the date range exceeds 180 days952 renders `unprocessable_entity`953 GET #average954 matches the response schema955 when valid parameters are given956 succeeds957 accepts optional `project_ids` array958 succeeds959 when `created_before` is missing960 succeeds961 when `created_after` is missing962 succeeds963 when `created_after` is invalid, falls back to default date964 is expected to respond with numeric status code success965 when `created_before` is invalid966 renders `unprocessable_entity`967 when `created_after` is later than `created_before`968 renders `unprocessable_entity`969 when the date range exceeds 180 days970 renders `unprocessable_entity`971 GET #records972 when valid parameters are given973 succeeds974 accepts optional `project_ids` array975 succeeds976 when `created_before` is missing977 succeeds978 when `created_after` is missing979 succeeds980 when `created_after` is invalid, falls back to default date981 is expected to respond with numeric status code success982 when `created_before` is invalid983 renders `unprocessable_entity`984 when `created_after` is later than `created_before`985 renders `unprocessable_entity`986 when the date range exceeds 180 days987 renders `unprocessable_entity`988 when `group_id` is not found989 renders `not_found` when group is missing990 when user has no lower access level than `reporter`991 renders `forbidden` response992 when feature is not available for the group993 renders `forbidden` response994 sort params995 accepts sort params996 GET #duration_chart997 matches the response schema998 when valid parameters are given999 succeeds1000 accepts optional `project_ids` array1001 succeeds1002 when `created_before` is missing1003 succeeds1004 when `created_after` is missing1005 succeeds1006 when `created_after` is invalid, falls back to default date1007 is expected to respond with numeric status code success1008 when `created_before` is invalid1009 renders `unprocessable_entity`1010 when `created_after` is later than `created_before`1011 renders `unprocessable_entity`1012 when the date range exceeds 180 days1013 renders `unprocessable_entity`1014 when `group_id` is not found1015 renders `not_found` when group is missing1016 when user has no lower access level than `reporter`1017 renders `forbidden` response1018 when feature is not available for the group1019 renders `forbidden` response1020API::Groups1021 GET /groups1022 when authenticated as user1023 returns ldap details1024 GET /groups/:id1025 group_ip_restriction1026 when the group_ip_restriction feature is not available1027 returns 2001028 when the group_ip_restriction feature is available1029 returns 404 for request from ip not in the range1030 returns 200 for request from ip in the range1031 marked_for_deletion_on attribute1032 when feature is available1033 is exposed1034 when feature is not available1035 is not exposed1036 file_template_project_id is a private project1037 user has permission to private project1038 returns file_template_project_id1039 user does not have permission to private project1040 does not return file_template_project_id1041 user is not logged in1042 does not return file_template_project_id1043 PUT /groups/:id1044 file_template_project_id1045 does not update file_template_project_id if unlicensed1046 updates file_template_project_id if licensed1047 shared_runners_minutes_limit1048 when authenticated as the group owner1049 returns 200 if shared_runners_minutes_limit is not changing1050 when authenticated as the admin1051 updates the group for shared_runners_minutes_limit1052 default_branch_protection1053 authenticated as an admin1054 feature_enabled: true, setting_enabled: true, default_branch_protection: 01055 updates the attribute as expected1056 feature_enabled: false, setting_enabled: true, default_branch_protection: 01057 updates the attribute as expected1058 feature_enabled: true, setting_enabled: false, default_branch_protection: 01059 updates the attribute as expected1060 feature_enabled: false, setting_enabled: false, default_branch_protection: 01061 updates the attribute as expected1062 authenticated a normal user1063 feature_enabled: true, setting_enabled: true, default_branch_protection: 01064 updates the attribute as expected1065 feature_enabled: false, setting_enabled: true, default_branch_protection: 01066 updates the attribute as expected1067 feature_enabled: true, setting_enabled: false, default_branch_protection: 21068 updates the attribute as expected1069 feature_enabled: false, setting_enabled: false, default_branch_protection: 01070 updates the attribute as expected1071 prevent_forking_outside_group1072 authenticated as group owner1073 feature_enabled: false, prevent_forking_outside_group: false, result: nil1074 updates the attribute as expected1075 feature_enabled: false, prevent_forking_outside_group: true, result: nil1076 updates the attribute as expected1077 feature_enabled: true, prevent_forking_outside_group: false, result: false1078 updates the attribute as expected1079 feature_enabled: true, prevent_forking_outside_group: true, result: true1080 updates the attribute as expected1081 POST /groups1082 when authenticated as user with group permissions1083 creates an ldap_group_link if ldap_cn and ldap_access are supplied1084 when shared_runners_minutes_limit is given1085 when the current user is not an admin1086 does not create a group with shared_runners_minutes_limit1087 when the current user is an admin1088 creates a group with shared_runners_minutes_limit1089 when creating a group with `default_branch_protection` attribute1090 authenticated as an admin1091 feature_enabled: false, setting_enabled: false, default_branch_protection: 01092 creates the group with the expected `default_branch_protection` value1093 feature_enabled: false, setting_enabled: true, default_branch_protection: 01094 creates the group with the expected `default_branch_protection` value1095 feature_enabled: true, setting_enabled: false, default_branch_protection: 01096 creates the group with the expected `default_branch_protection` value1097 feature_enabled: false, setting_enabled: false, default_branch_protection: 01098 creates the group with the expected `default_branch_protection` value1099 authenticated a normal user1100 feature_enabled: false, setting_enabled: false, default_branch_protection: 01101 creates the group with the expected `default_branch_protection` value1102 feature_enabled: false, setting_enabled: true, default_branch_protection: 01103 creates the group with the expected `default_branch_protection` value1104 feature_enabled: true, setting_enabled: false, default_branch_protection: 21105 creates the group with the expected `default_branch_protection` value1106 feature_enabled: false, setting_enabled: false, default_branch_protection: 01107 creates the group with the expected `default_branch_protection` value1108 POST /groups/:id/ldap_sync1109 when the ldap_group_sync feature is available1110 when authenticated as the group owner1111 returns 404 for a non existing group1112 when the group is ready to sync1113 returns 202 Accepted1114 queues a sync job1115 sets the ldap_sync state to pending1116 when the group is already pending a sync1117 returns 202 Accepted1118 does not queue a sync job1119 does not change the ldap_sync state1120 when authenticated as the admin1121 returns 202 Accepted1122 when authenticated as a non-owner user that can see the group1123 returns 4031124 when authenticated as an user that cannot see the group1125 returns 4041126 when the ldap_group_sync feature is not available1127 returns 404 (same as CE would)1128 GET /groups/:id/projects1129 when authenticated as user1130 when security dashboard is enabled for a group1131DEPRECATION WARNING: /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/carrierwave-1.3.1/lib/carrierwave/sanitized_file.rb:316: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call1132/usr/local/lib/ruby/2.7.0/fileutils.rb:206: warning: The called method `mkdir_p' is defined here1133 (called from cache! at /builds/gitlab-org/gitlab/app/uploaders/object_storage.rb:369)1134 returns only projects with security reports1135 when security dashboard is disabled for a group1136 returns all projects regardless of the security reports1137 GET group/:id/audit_events1138 behaves like inaccessable by reporter role and lower1139 for reporter1140 returns 403 response1141 for guest1142 returns 403 response1143 for anonymous1144 returns 403 response1145 when authenticated, as a member1146 returns only events authored by current user1147 when authenticated, as a group owner1148 audit events feature is not available1149 behaves like 403 response1150 returns 4031151 audit events feature is available1152 returns 200 response1153 includes the correct pagination headers1154 does not include audit events of a different group1155 parameters1156 created_before parameter1157 returns audit events created before the given parameter1158 created_after parameter1159 returns audit events created after the given parameter1160 response schema1161 matches the response schema1162 GET group/:id/audit_events/:audit_event_id1163 behaves like inaccessable by reporter role and lower1164 for reporter1165 returns 403 response1166 for guest1167 returns 403 response1168 for anonymous1169 returns 403 response1170 when authenticated, as a member1171 returns 200 response1172 existing audit event of a different user1173 behaves like 404 response1174 returns 4041175 when authenticated, as a group owner1176 audit events feature is not available1177 behaves like 403 response1178 returns 4031179 audit events feature is available1180 existent audit event1181 returns 200 response1182 response schema1183 matches the response schema1184 invalid audit_event_id1185 behaves like 400 response1186 returns 4001187 non existent audit event1188 non existent audit event of a group1189 behaves like 404 response1190 returns 4041191 existing audit event of a different group1192 behaves like 404 response1193 returns 4041194 DELETE /groups/:id1195 feature is available1196 period for delayed deletion is greater than 01197 success1198 marks the group for delayed deletion1199 does not immediately enqueue the job to delete the group1200 failure1201 returns error1202 period of delayed deletion is set to 01203 behaves like immediately enqueues the job to delete the group1204 is expected to respond with numeric status code accepted1205 feature is not available1206 behaves like immediately enqueues the job to delete the group1207 is expected to respond with numeric status code accepted1208 POST /groups/:id/restore1209 feature is available1210 authenticated as owner1211 restoring is successful1212 restores the group to original state1213 restoring fails1214 returns error1215 authenticated as user without access to the group1216 returns 4031217 feature is not available1218 returns 4041219API::Issues1220 GET /issues1221 when authenticated1222 matches V4 response schema1223 blocking issues count1224 returns a blocking issues count of 0 if there are no blocking issues1225 returns a blocking issues count of 1 if there exists a blocking issue1226 filtering by weight1227 returns issues with specific weight1228 returns issues with no weight1229 returns issues with any weight1230 filtering by assignee_username1231 returns issues with multiple assignees1232 behaves like filtering by epic_id1233 returns issues without epic when epic_id is "None"1234 returns issues with any epic when epic_id is "Any"1235 returns issues with any epic when epic_id is specific1236 filtering by iteration1237 returns issues with specific iteration1238 returns issues with no iteration1239 returns issues with any iteration1240 returns no issues on user dashboard issues list1241 returns issues with a specific iteration title1242 GET /groups/:id/issues1243 filtering by assignee_username1244 returns issues with multiple assignees1245 behaves like filtering by epic_id1246 returns issues without epic when epic_id is "None"1247 returns issues with any epic when epic_id is "Any"1248 returns issues with any epic when epic_id is specific1249 behaves like exposes epic1250 with epics feature1251 contains epic_iid in response1252 contains epic in response1253 and epic issue is not present1254 exposes epic as nil1255 without epics feature1256 does not contain epic_iid in response1257 does not contain epic_iid in response1258 filtering by iteration1259 returns issues with Current iteration1260 GET /projects/:id/issues1261 filtering by assignee_username1262 returns issues with multiple assignees1263 behaves like filtering by epic_id1264 returns issues without epic when epic_id is "None"1265 returns issues with any epic when epic_id is "Any"1266 returns issues with any epic when epic_id is specific1267 on personal project1268 does not contain epic_iid in response1269 on group project1270 behaves like exposes epic1271 with epics feature1272 contains epic_iid in response1273 contains epic in response1274 and epic issue is not present1275 exposes epic as nil1276 without epics feature1277 does not contain epic_iid in response1278 does not contain epic_iid in response1279 filtering by iteration1280 returns issues with Current iteration1281 GET /project/:id/issues/:issue_id1282 on personal project1283 does not contain epic_iid in response1284 on group project1285 behaves like exposes epic1286 with epics feature1287 contains epic_iid in response1288 contains epic in response1289 and epic issue is not present1290 exposes epic as nil1291 without epics feature1292 does not contain epic_iid in response1293 does not contain epic_iid in response1294 POST /projects/:id/issues1295 creates a new project issue1296 behaves like with epic parameter1297 for a group project1298 with epics feature1299 when user can admin epics1300 with epic_id parameter1301 sets epic on issue1302 with deprecated epic_iid parameter1303 sets epic on issue1304 when user can not edit epics1305 returns an error1306 without epics feature1307 does not set epic on issue1308 when both epic_id and epic_iid is used1309 returns an error1310 for a user project1311 does not set epic on issue1312 PUT /projects/:id/issues/:issue_id to update weight1313 updates an issue with no weight1314 removes a weight from an issue1315 returns 400 if weight is less than minimum weight1316 creates a ResourceWeightEvent1317 does not create a system note1318 adds a note when the weight is changed1319 issuable weights unlicensed1320 ignores the update1321 PUT /projects/:id/issues/:issue_id to update epic1322 behaves like with epic parameter1323 for a group project1324 with epics feature1325 when user can admin epics1326 with epic_id parameter1327 sets epic on issue1328 with deprecated epic_iid parameter1329 sets epic on issue1330 when user can not edit epics1331 returns an error1332 without epics feature1333 does not set epic on issue1334 when both epic_id and epic_iid is used1335 returns an error1336 for a user project1337 does not set epic on issue1338 POST /projects/:id/issues/:issue_id/metric_images1339 user_role: :guest, own_issue: true, expected_status: :can_upload_metric_image1340 behaves like can_upload_metric_image1341 creates a new metric image1342 user_role: :guest, own_issue: false, expected_status: :unauthorized_upload1343 behaves like unauthorized_upload1344 disallows the upload1345 user_role: :reporter, own_issue: true, expected_status: :can_upload_metric_image1346 behaves like can_upload_metric_image1347 creates a new metric image1348 user_role: :reporter, own_issue: false, expected_status: :can_upload_metric_image1349 behaves like can_upload_metric_image1350 creates a new metric image1351 file size too large1352 returns an error1353 object storage enabled1354 uploads to remote storage1355 behaves like can_upload_metric_image1356 creates a new metric image1357 GET /projects/:id/issues/:issue_id/metric_images1358 user_role: :not_member, own_issue: false, issue_confidential: false, expected_status: :unauthorized_read1359 behaves like unauthorized_read1360 cannot read the metric images1361 user_role: :guest, own_issue: false, issue_confidential: true, expected_status: :unauthorized_read1362 behaves like unauthorized_read1363 cannot read the metric images1364 user_role: :guest, own_issue: true, issue_confidential: false, expected_status: :can_read_metric_image1365 behaves like can_read_metric_image1366 can read the metric images1367 user_role: :guest, own_issue: false, issue_confidential: false, expected_status: :can_read_metric_image1368 behaves like can_read_metric_image1369 can read the metric images1370 user_role: :reporter, own_issue: true, issue_confidential: false, expected_status: :can_read_metric_image1371 behaves like can_read_metric_image1372 can read the metric images1373 user_role: :reporter, own_issue: false, issue_confidential: false, expected_status: :can_read_metric_image1374 behaves like can_read_metric_image1375 can read the metric images1376 DELETE /projects/:id/issues/:issue_id/metric_images/:metric_image_id1377 user_role: :not_member, own_issue: false, issue_confidential: false, expected_status: :unauthorized_delete1378 behaves like unauthorized_delete1379 cannot delete the metric image1380 user_role: :not_member, own_issue: true, issue_confidential: false, expected_status: :unauthorized_delete1381 behaves like unauthorized_delete1382 cannot delete the metric image1383 user_role: :not_member, own_issue: true, issue_confidential: true, expected_status: :unauthorized_delete1384 behaves like unauthorized_delete1385 cannot delete the metric image1386 user_role: :guest, own_issue: false, issue_confidential: true, expected_status: :unauthorized_delete1387 behaves like unauthorized_delete1388 cannot delete the metric image1389 user_role: :guest, own_issue: true, issue_confidential: false, expected_status: :can_delete_metric_image1390 behaves like can_delete_metric_image1391 can delete the metric images1392 user_role: :guest, own_issue: false, issue_confidential: false, expected_status: :can_delete_metric_image1393 behaves like can_delete_metric_image1394 can delete the metric images1395 user_role: :reporter, own_issue: true, issue_confidential: false, expected_status: :can_delete_metric_image1396 behaves like can_delete_metric_image1397 can delete the metric images1398 user_role: :reporter, own_issue: false, issue_confidential: false, expected_status: :can_delete_metric_image1399 behaves like can_delete_metric_image1400 can delete the metric images1401 user has access1402 metric image not found1403 returns an error1404API::LdapGroupLinks1405 GET /groups/:id/ldap_group_links1406 when unauthenticated1407 returns authentication error1408 when a less priviledged user1409 returns forbidden1410 when owner of the group1411 returns ldap group links1412 returns error if no ldap group links found1413 POST /groups/:id/ldap_group_links1414 adding a group link via CN1415 behaves like creates LDAP group link1416 when unauthenticated1417 returns authentication error1418 when a less priviledged user1419 does not allow less priviledged user to add LDAP group link1420 when owner of the group1421 returns ok and add ldap group link1422 returns error if LDAP group link already exists1423 returns a 400 error when CN or filter is not given1424 returns a 400 error when group access is not given1425 returns a 422 error when group access is not valid1426 adding a group link via filter1427 feature is available1428 behaves like creates LDAP group link1429 when unauthenticated1430 returns authentication error1431 when a less priviledged user1432 does not allow less priviledged user to add LDAP group link1433 when owner of the group1434 returns ok and add ldap group link1435 returns error if LDAP group link already exists1436 returns a 400 error when CN or filter is not given1437 returns a 400 error when group access is not given1438 returns a 422 error when group access is not valid1439 feature is not available1440 returns 4041441 DELETE /groups/:id/ldap_group_links/:cn1442 when unauthenticated1443 returns authentication error1444 when a less priviledged user1445 does not remove the LDAP group link1446 when owner of the group1447 removes ldap group link1448 returns 404 if LDAP group cn not used for a LDAP group link1449 DELETE /groups/:id/ldap_group_links/:provider/:cn1450 when unauthenticated1451 returns authentication error1452 when a less priviledged user1453 does not remove the LDAP group link1454 when owner of the group1455 returns 404 if LDAP group cn not used for a LDAP group link for the specified provider1456 removes ldap group link1457 DELETE /groups/:id/ldap_group_links1458 deleting a group link via CN and provider1459 behaves like deletes LDAP group link1460 when unauthenticated1461 returns authentication error1462 when a less priviledged user1463 does not remove the LDAP group link1464 when owner of the group1465 removes ldap group link1466 behaves like group link is not found1467 when owner of the group1468 returns 404 if LDAP input not used for a LDAP group link1469 deleting a group link via filter and provider1470 feature is available1471 behaves like deletes LDAP group link1472 when unauthenticated1473 returns authentication error1474 when a less priviledged user1475 does not remove the LDAP group link1476 when owner of the group1477 removes ldap group link1478 behaves like group link is not found1479 when owner of the group1480 returns 404 if LDAP input not used for a LDAP group link1481 feature is not available1482 returns 4041483Updating an epic tree1484 when epics and subepics features are enabled1485 when the user does not have permission1486 returns the error message1487 behaves like a mutation that does not update the tree1488 does not change relative_positions1489 when the user has permission1490 when moving an epic1491 when moving an epic is successful1492 updates the epics relative positions1493 returns nil in errors1494 when a new_parent_id is provided1495 updates the epics relative positions and updates the parent1496 returns nil in errors1497 when relative_position is invalid1498 behaves like a mutation that returns top-level errors1499 is expected to eq ["Variable $epicTreeReorderInput of type EpicTreeReorderInput! was provided invalid value for moved.relativePosition (Expected \"invalid\" to be one of: before, after)"]1500 when object being moved is not supported type1501 returns the error message1502 when moving an epic fails due to the parents of the relative position object and the moving object mismatching1503 returns the error message1504 behaves like a mutation that does not update the tree1505 does not change relative_positions1506 when the new parent is another epic and subepics feature is disabled1507 returns the error message1508 behaves like a mutation that does not update the tree1509 does not change relative_positions1510 when moving an issue1511 updates the epics relative positions1512 returns nil in errors1513 when a new_parent_id is provided1514 updates the epic's relative positions and parent1515 returns nil in errors1516 when moving an issue fails due to the parents of the relative position object and the moving object mismatching1517 returns the error message1518 behaves like a mutation that does not update the tree1519 does not change relative_positions1520API::MergeRequestApprovalRules1521 GET /projects/:id/merge_requests/:merge_request_iid/approval_rules1522 user cannot read merge request1523 responds with 4031524 use can read merge request1525 matches the response schema1526 groups contain private groups1527 current_user cannot see private group1528 hides private group1529 current_user can see private group1530 shows private group1531 has existing merge request rule that overrides a project-level rule1532 includes source_rule1533 POST /projects/:id/merge_requests/:merge_request_iid/approval_rules1534 behaves like a protected API endpoint for merge request approval rule action1535 disable_overriding_approvers_per_merge_request is set to true1536 responds with 4031537 disable_overriding_approvers_per_merge_request is set to false1538 user cannot update merge request1539 responds with 4031540 when user can update merge request and approval rules can be overridden1541 matches the response schema1542 users are passed1543 includes users1544 groups are passed1545 includes groups1546 approval_project_rule_id is passed1547 with blank approver params1548 copies the attributes from the project rule except approvers1549 with omitted approver params1550 copies the attributes from the project rule except approvals_required1551 PUT /projects/:id/merge_requests/:merge_request_iid/approval_rules/:approval_rule_id1552 behaves like a protected API endpoint for merge request approval rule action1553 disable_overriding_approvers_per_merge_request is set to true1554 responds with 4031555 disable_overriding_approvers_per_merge_request is set to false1556 user cannot update merge request1557 responds with 4031558 when user can update merge request and approval rules can be overridden1559 matches the response schema1560 behaves like a protected API endpoint that only allows action on regular merge request approval rule1561 approval rule is not a regular type1562 responds with 4031563 users are passed1564 changes users1565 groups are passed1566 changes groups1567 remove_hidden_groups is passed1568 when set to true1569 removes the existing private group1570 when set to false1571 does not remove the existing private group1572 DELETE /projects/:id/merge_requests/:merge_request_iid/approval_rules/:approval_rule_id1573 behaves like a protected API endpoint for merge request approval rule action1574 disable_overriding_approvers_per_merge_request is set to true1575 responds with 4031576 disable_overriding_approvers_per_merge_request is set to false1577 user cannot update merge request1578 responds with 4031579 when user can update merge request and approval rules can be overridden1580 responds with 2041581 behaves like a protected API endpoint that only allows action on regular merge request approval rule1582 approval rule is not a regular type1583 responds with 4031584GroupsController1585 GET #show1586 behaves like namespace storage limit alert1587 does render1588 when alert_level is error1589 does not render a dismiss button1590 when cookie is set1591 does not render alert1592 GET #issues1593 does not list test cases1594 GET #activity1595 when authorized1596 when group events are available1597DEPRECATION WARNING: /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/activesupport-6.0.3.4/lib/active_support/cache.rb:330: warning: Passing the keyword argument as the last hash parameter is deprecated1598/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/activesupport-6.0.3.4/lib/active_support/cache.rb:710: warning: The called method `get_entry_value' is defined here1599 (called from visible_to_user? at /builds/gitlab-org/gitlab/app/presenters/event_presenter.rb:14)1600 includes events from group and subgroups1601 when group events are not available1602 does not include events from group and subgroups1603 when unauthorized1604 includes only events visible to user1605 POST #restore1606 when authenticated user can admin the group1607 delayed deletion feature is available1608 success1609 restores the group1610 renders success notice upon restoring1611 failure1612 does not restore the group1613 redirects to group edit page1614 delayed deletion feature is not available1615 returns 4041616 when authenticated user cannot admin the group1617 returns 4041618 DELETE #destroy1619 when authenticated user can admin the group1620 delayed deletion feature is available1621 success1622 marks the group for delayed deletion1623 does not immediately delete the group1624 redirects to group path with notice about delayed deletion1625 failure1626 does not mark the group for deletion1627 redirects to group edit page1628 delayed deletion feature is not available1629 immediately schedules a group destroy1630 redirects to root page with alert about immediate deletion1631 when authenticated user cannot admin the group1632 returns 4041633 POST #create1634 authorization1635 allows an auditor with "can_create_group" set to true to create a group1636 behaves like GroupInviteMembers1637 when inviting members1638 without valid emails in the params1639 no invites generated by default1640 does not track the event1641 with valid emails in the params1642 adds users with developer access and ignores blank and invalid emails1643 tracks the event1644 when creating a group with `default_branch_protection` attribute1645 authenticated as an admin1646 feature_enabled: false, setting_enabled: false, default_branch_protection: 01647 behaves like creates the group with the expected `default_branch_protection` value1648 creates the group with the expected `default_branch_protection` value1649 feature_enabled: false, setting_enabled: true, default_branch_protection: 01650 behaves like creates the group with the expected `default_branch_protection` value1651 creates the group with the expected `default_branch_protection` value1652 feature_enabled: true, setting_enabled: false, default_branch_protection: 01653 behaves like creates the group with the expected `default_branch_protection` value1654 creates the group with the expected `default_branch_protection` value1655 feature_enabled: false, setting_enabled: false, default_branch_protection: 01656 behaves like creates the group with the expected `default_branch_protection` value1657 creates the group with the expected `default_branch_protection` value1658 authenticated a normal user1659 feature_enabled: false, setting_enabled: false, default_branch_protection: 01660 behaves like creates the group with the expected `default_branch_protection` value1661 creates the group with the expected `default_branch_protection` value1662 feature_enabled: false, setting_enabled: true, default_branch_protection: 01663 behaves like creates the group with the expected `default_branch_protection` value1664 creates the group with the expected `default_branch_protection` value1665 feature_enabled: true, setting_enabled: false, default_branch_protection: 21666 behaves like creates the group with the expected `default_branch_protection` value1667 creates the group with the expected `default_branch_protection` value1668 feature_enabled: false, setting_enabled: false, default_branch_protection: 01669 behaves like creates the group with the expected `default_branch_protection` value1670 creates the group with the expected `default_branch_protection` value1671 PUT #update1672 when max_pages_size param is specified1673 when user is an admin with admin mode enabled1674 updates max_pages_size1675 when user is an admin with admin mode disabled1676 does not update max_pages_size1677 when user is not an admin1678 does not update max_pages_size1679 when `max_personal_access_token_lifetime` is specified1680 without `personal_access_token_expiration_policy` licensed1681 does not update the attribute1682 doesn't call the update lifetime service1683 with personal_access_token_expiration_policy licensed1684 when `max_personal_access_token_lifetime` is updated to a non-null value1685 updates the attribute1686 executes the update lifetime service1687 when `max_personal_access_token_lifetime` is updated to null value1688 updates the attribute1689 doesn't call the update lifetime service1690 when `default_branch_protection` is specified1691 authenticated as admin1692 feature_enabled: false, setting_enabled: false, default_branch_protection: 01693 behaves like updates the attribute1694 updates the attribute1695 feature_enabled: false, setting_enabled: true, default_branch_protection: 01696 behaves like updates the attribute1697 updates the attribute1698 feature_enabled: true, setting_enabled: false, default_branch_protection: 01699 behaves like updates the attribute1700 updates the attribute1701 feature_enabled: false, setting_enabled: false, default_branch_protection: 01702 behaves like updates the attribute1703 updates the attribute1704 authenticated as group owner1705 feature_enabled: false, setting_enabled: false, default_branch_protection: 01706 behaves like updates the attribute1707 updates the attribute1708 feature_enabled: false, setting_enabled: true, default_branch_protection: 01709 behaves like updates the attribute1710 updates the attribute1711 feature_enabled: true, setting_enabled: false, default_branch_protection: 21712 behaves like updates the attribute1713 updates the attribute1714 feature_enabled: false, setting_enabled: false, default_branch_protection: 01715 behaves like updates the attribute1716 updates the attribute1717 when delayed_project_removal param is specified1718 when feature is available1719 allows storing of setting1720 when feature is not available1721 does not allow storing of setting1722 when `prevent_forking_outside_group` is specified1723 authenticated as group owner1724 feature_enabled: false, prevent_forking_outside_group: false, result: nil1725 behaves like updates the attribute if needed1726 updates the attribute1727 feature_enabled: false, prevent_forking_outside_group: true, result: nil1728 behaves like updates the attribute if needed1729 updates the attribute1730 feature_enabled: true, prevent_forking_outside_group: false, result: false1731 behaves like updates the attribute if needed1732 updates the attribute1733 feature_enabled: true, prevent_forking_outside_group: true, result: true1734 behaves like updates the attribute if needed1735 updates the attribute1736Projects::LicensesController1737 GET #index1738 when the "Security & Compliance" feature is disabled1739 is expected to respond with numeric status code not_found1740 with authorized user1741 when feature is available1742 with reporter1743 counts usage of the feature1744 when requesting HTML1745 returns the necessary licenses app data1746 with existing report1747 returns success code1748 returns a hash with licenses1749 returns status ok1750 includes the pagination headers1751 with pagination params1752 return only 1 license1753 when software policies are applied to some of the most recently detected licenses1754 when loading all policies1755 is expected to respond with numeric status code ok1756 is expected to equal 41757 sorts by name by default1758 includes a policy for an unclassified and known license that was detected in the scan report1759 includes a policy for a denied license found in the scan report1760 includes a policy for an allowed license NOT found in the latest scan report1761 includes an entry for an unclassified and unknown license found in the scan report1762 when loading software policies that match licenses detected in the most recent license scan report1763 is expected to respond with numeric status code ok1764 only includes policies for licenses detected in the most recent scan report1765 includes an unclassified policy for a known license detected in the scan report1766 includes a classified license for a known license detected in the scan report1767 includes an unclassified and unknown license discovered in the scan report1768 when loading `allowed` software policies only1769 is expected to respond with numeric status code ok1770 is expected to equal 11771 includes only `allowed` policies1772 when loading `allowed` and `denied` software policies1773 is expected to respond with numeric status code ok1774 is expected to equal 21775 includes `denied` policies1776 includes `allowed` policies1777 when loading policies ordered by `classification` in `ascending` order1778 is expected to respond with numeric status code ok1779 is expected to eq ["allowed", "unclassified", "unclassified", "denied"]1780 when loading policies ordered by `classification` in `descending` order1781 is expected to respond with numeric status code ok1782 is expected to eq ["denied", "unclassified", "unclassified", "allowed"]1783 without existing report1784 returns status job_not_set_up1785 with maintainer1786 responds to an HTML request1787 when feature is not available1788 returns 4041789 with unauthorized user1790 returns 4041791 POST #create1792 when the "Security & Compliance" feature is disabled1793 is expected to respond with numeric status code not_found1794 when authenticated1795 when the current user is not a member of the project1796 is expected to respond with numeric status code not_found1797 when the current user is a member of the project but not authorized to create policies1798 is expected to respond with numeric status code not_found1799 when authorized as a maintainer1800 when creating a policy for a software license by the software license database id1801 is expected to respond with numeric status code created1802 creates a new policy1803 returns the proper JSON response1804 when creating a policy for a software license by the software license SPDX identifier1805 is expected to respond with numeric status code created1806 creates a new policy1807 returns the proper JSON response1808 when the parameters are invalid1809 is expected to respond with numeric status code unprocessable_entity1810 is expected to eq {"errors"=>{"software_license"=>["can't be blank"]}}1811 PATCH #update1812 when the "Security & Compliance" feature is disabled1813 is expected to respond with numeric status code not_found1814 when authenticated1815 when the current user is not a member of the project1816 is expected to respond with numeric status code not_found1817 when the current user is a member of the project but not authorized to update policies1818 is expected to respond with numeric status code not_found1819 when authorized as a maintainer1820 when updating a software license policy1821 is expected to respond with numeric status code ok1822 is expected to be denied1823 generates the proper JSON response1824 when the parameters are invalid1825 is expected to respond with numeric status code unprocessable_entity1826 is expected to eq {"errors"=>{"classification"=>["is invalid"]}}1827 when unauthenticated1828 is expected to redirect to "/users/sign_in"1829API::MergeRequests1830 PUT /projects/:id/merge_requests1831 multiple assignees1832 when licensed1833 creates merge request with multiple assignees1834 when not licensed1835 creates merge request with a single assignee1836 when updating existing approval rules1837 is successful1838 POST /projects/:id/merge_requests1839 multiple assignees1840 when licensed1841 creates merge request with multiple assignees1842 when not licensed1843 creates merge request with a single assignee1844 between branches projects1845 returns merge_request1846 the approvals_before_merge param1847 when the target project has disable_overriding_approvers_per_merge_request set to true1848 does not set approvals_before_merge1849 when the target project has disable_overriding_approvers_per_merge_request set to false1850 sets approvals_before_merge1851 PUT /projects/:id/merge_requests/:merge_request_iid/merge1852 returns 405 if merge request was not approved1853 returns 200 if merge request was approved1854 DELETE /projects/:id/merge_requests/:merge_request_iid1855 when the merge request is on the merge train1856 removes train ref1857 when authenticated1858 filter merge requests by assignee ID1859 returns merge requests with given assignee ID1860 filter merge requests by approver IDs1861 with specified approver id1862 returns an array of merge requests which have specified the user as an approver1863 with specified None as a param1864 returns an array of merge requests with no approvers1865 with specified Any as a param1866 returns an array of merge requests with any approver1867 with any other string as a param1868 returns a validation error1869 filter merge requests by approval IDs1870 with specified approved_by id1871 returns an array of merge requests which have specified the user as an approver1872 with multiple specified approved_by ids1873 when approved by all users1874 returns an array of merge requests which have specified the user as an approver1875 when not approved by all users1876 does not return any merge request1877 with specified None as a param1878 returns an array of merge requests with no approvers1879 with specified Any as a param1880 returns an array of merge requests with any approver1881 with any other string as a param1882 returns a validation error1883Projects::MergeRequestsController1884 GET #edit1885 when the project requires code owner approval1886 does not cause an extra queries when code owner rules are present1887 does not cause extra queries when multiple code owner rules are present1888 GET #index1889 avoids N+11890Admin::CredentialsController1891 GET #index1892 admin user1893 when `credentials_inventory` feature is enabled1894 responds with 2001895 filtering by type of credential1896 no credential type specified1897 behaves like filtering by `personal_access_tokens`1898 is expected to contain exactly #<PersonalAccessToken id: 457, user_id: 1104, name: "PAT 457", revoked: false, expires_at: "2021-03-0...expire_notification_delivered: false, last_used_at: nil, after_expiry_notification_delivered: false>, #<PersonalAccessToken id: 458, user_id: 1104, name: "PAT 458", revoked: false, expires_at: "2021-03-0...expire_notification_delivered: false, last_used_at: nil, after_expiry_notification_delivered: false>, and #<PersonalAccessToken id: 459, user_id: 1104, name: "PAT 459", revoked: false, expires_at: "2021-03-0...expire_notification_delivered: false, last_used_at: nil, after_expiry_notification_delivered: false>1899 non-existent credential type specified1900 behaves like filtering by `personal_access_tokens`1901 is expected to contain exactly #<PersonalAccessToken id: 457, user_id: 1104, name: "PAT 457", revoked: false, expires_at: "2021-03-0...expire_notification_delivered: false, last_used_at: nil, after_expiry_notification_delivered: false>, #<PersonalAccessToken id: 458, user_id: 1104, name: "PAT 458", revoked: false, expires_at: "2021-03-0...expire_notification_delivered: false, last_used_at: nil, after_expiry_notification_delivered: false>, and #<PersonalAccessToken id: 459, user_id: 1104, name: "PAT 459", revoked: false, expires_at: "2021-03-0...expire_notification_delivered: false, last_used_at: nil, after_expiry_notification_delivered: false>1902 credential type specified as `personal_access_tokens`1903 behaves like filtering by `personal_access_tokens`1904 is expected to contain exactly #<PersonalAccessToken id: 457, user_id: 1104, name: "PAT 457", revoked: false, expires_at: "2021-03-0...expire_notification_delivered: false, last_used_at: nil, after_expiry_notification_delivered: false>, #<PersonalAccessToken id: 458, user_id: 1104, name: "PAT 458", revoked: false, expires_at: "2021-03-0...expire_notification_delivered: false, last_used_at: nil, after_expiry_notification_delivered: false>, and #<PersonalAccessToken id: 459, user_id: 1104, name: "PAT 459", revoked: false, expires_at: "2021-03-0...expire_notification_delivered: false, last_used_at: nil, after_expiry_notification_delivered: false>1905 credential type specified as `ssh_keys`1906 filters by ssh keys1907 credential type specified as `gpg_keys`1908 filters by gpg keys1909 avoids N+1 queries1910 feature flag is disabled1911 responds with not found1912 when `credentials_inventory` feature is disabled1913 returns 4041914 non-admin user1915 returns 4041916 DELETE #destroy1917 behaves like credentials inventory delete SSH key1918 admin user1919 when `credentials_inventory` feature is enabled1920 and the ssh_key exists1921 and it removes the key1922 renders a success message1923 notifies the key owner1924 and it fails to remove the key1925 renders a failure message1926 and the ssh_key does not exist1927 renders a not found message1928 when `credentials_inventory` feature is disabled1929 returns 4041930 non-admin user1931 returns 4041932 PUT #revoke1933 admin user1934 when `credentials_inventory` feature is enabled1935 non-existent personal access token specified1936 behaves like responds with 4041937 is expected to respond with numeric status code not_found1938 with an existing personal access token1939 does not have permissions to revoke the credential1940 behaves like displays the flash error message1941 is expected to eql "Not permitted to revoke"1942 personal access token is already revoked1943 behaves like displays the flash success message1944 is expected to start with "Revoked personal access token "1945 personal access token is already expired1946 behaves like displays the flash success message1947 is expected to start with "Revoked personal access token "1948 personal access token is not revoked or expired1949 informs the token owner1950 behaves like displays the flash success message1951 is expected to start with "Revoked personal access token "1952 when `credentials_inventory` feature is disabled1953 behaves like responds with 4041954 is expected to respond with numeric status code not_found1955 non-admin user1956 behaves like responds with 4041957 is expected to respond with numeric status code not_found1958Admin::CredentialsController1959 behaves like tracking unique visits1960 tracks unique visit if the format is HTML1961 tracks unique visit if DNT is not enabled1962 does not track unique visit if DNT is enabled1963 does not track unique visit if the format is JSON1964API::EpicLinks1965 GET /groups/:id/epics/:epic_iid/epics1966 behaves like user does not have access1967 returns 403 when subepics feature is disabled1968 returns 404 not found error for a user without permissions to see the group1969 unauthenticated user1970 returns 401 unauthorized error1971 when subepics feature is enabled1972 returns 200 status1973 POST /groups/:id/epics/:epic_iid/epics/child_epic_id1974 behaves like user does not have access1975 returns 403 when subepics feature is disabled1976 returns 404 not found error for a user without permissions to see the group1977 unauthenticated user1978 returns 401 unauthorized error1979 when subepics feature is enabled1980 when user is guest1981 returns 4031982 when user is developer1983 returns 201 status1984 when target epic cannot be read1985 returns 404 status1986 POST /groups/:id/epics/:epic_iid/epics1987 behaves like user does not have access1988 returns 403 when subepics feature is disabled1989 returns 404 not found error for a user without permissions to see the group1990 unauthenticated user1991 returns 401 unauthorized error1992 when subepics feature is enabled1993 when user is guest1994 returns 4031995 when user is developer1996 returns 201 status1997 does apply the confidential parameter if set1998 when the parent epic is confidential1999 copies the confidentiality status from the parent epic2000 does not allow creating a non-confidential sub-epic2001 and epic has errors2002 returns 400 error2003 PUT /groups/:id/epics/:epic_iid/epics/:child_epic_id2004 behaves like user does not have access2005 returns 403 when subepics feature is disabled2006 returns 404 not found error for a user without permissions to see the group2007 unauthenticated user2008 returns 401 unauthorized error2009 when subepics are enabled2010 when user has permissions to reorder epics2011 returns status 2002012 when user does not have permissions to reorder epics2013 returns status 4032014 DELETE /groups/:id/epics/:epic_iid/epics2015 behaves like user does not have access2016 returns 403 when subepics feature is disabled2017 returns 404 not found error for a user without permissions to see the group2018 unauthenticated user2019 returns 401 unauthorized error2020 when epics feature is enabled2021 when user is guest2022 returns 4032023 when user is developer2024 returns 200 status2025 when epics feature is disabled2026 when user is developer2027 returns 403 status2028Groups::EpicLinksController2029 GET #index2030 behaves like unlicensed subepics action2031 returns 403 status2032 when epics are enabled2033 when user has access to epic2034 returns the correct JSON response2035 when user does not have access to epic2036 returns 404 status2037 POST #create2038 behaves like unlicensed subepics action2039 returns 403 status2040 when subepics are enabled2041 when user has permissions to create requested association2042 returns correct response for the correct issue reference2043 updates a parent for the referenced epic2044 when user does not have permissions to create requested association2045 returns 403 status2046 does not update parent attribute2047 PUT #update2048 behaves like unlicensed subepics action2049 returns 403 status2050 when subepics are enabled2051 when user has permissions to reorder epics2052 returns status 2002053 updates the epic position2054 when move_before_id is not a sibling epic2055 returns status 4042056 when user does not have permissions to reorder epics2057 returns status 4032058 DELETE #destroy2059 behaves like unlicensed subepics action2060 returns 403 status2061 when epics are enabled2062 when user has permissions to update the parent epic2063 returns status 2002064 destroys the link2065 when user does not have permissions to update the parent epic2066 returns status 4042067 does not destroy the link2068 when the epic does not have any parent2069 returns status 4042070 when user has permissions to update the parent epic but epics feature is disabled2071 does not destroy the link2072Projects::DependenciesController2073 GET #index2074 when the "Security & Compliance" feature is disabled2075 is expected to respond with numeric status code not_found2076 with authorized user2077 when feature is available2078 when requesting HTML2079 is expected to respond with numeric status code ok2080 renders the side navigation with the correct submenu set as active2081 when usage ping is collected2082 counts usage of the feature2083 with existing report2084 without pagination params2085 returns a hash with dependencies2086 returns status ok2087 returns job path2088 returns success code2089 with params2090 with sorting params2091 when sorted by packager2092 returns sorted list2093 return 20 dependencies2094 when sorted by severity2095 returns sorted list2096 with filter by vulnerable2097 with authorized user to see vulnerabilities2098 return vulnerable dependencies2099 with pagination params2100 returns paginated list2101 with found license report2102 include license information to response2103 with a report of the wrong type2104 returns job_not_set_up status2105 returns a nil job_path2106 when report doesn't have dependency list field2107 returns dependencies with vulnerabilities2108 when job failed2109 returns job_failed status2110 when licensed feature is unavailable2111 returns 403 for a JSON request2112 returns a 404 for an HTML request2113 with unauthorized user2114 returns 403 for a JSON request2115 returns a 404 for an HTML request2116Epics through GroupQuery2117 Get list of epics from a group2118 when the request is correct2119 returns epics successfully2120 behaves like a working graphql query2121 returns a successful response2122 with multiple epics2123 sorts by created_at descending by default2124 has upvote/downvote information2125 can admin epics2126 when permission is absent2127 returns false for adminEpic2128 when permission is present2129 returns true for adminEpic2130 query performance2131 avoids n+1 queries when loading parent field2132 when error requests2133 when epics feature is disabled2134 returns empty2135 when epics feature is enabled2136 returns a nil group for a user without permissions to see the group2137 Get epic from a group2138 when the request is correct2139 returns an epic successfully2140 behaves like a working graphql query2141 returns a successful response2142 N+1 query checks2143 when requesting `user_notes_count`2144 prevents N+1 queries2145 when requesting `user_discussions_count`2146 prevents N+1 queries2147API::GroupBoards2148 behaves like group and project boards2149 avoids N+1 queries2150 GET /groups/:id/boards2151 when unauthenticated2152 returns authentication error2153 when authenticated2154 returns the issue boards2155 GET /groups/:id/boards/:board_id2156 get a single board by id2157 PUT /groups/:id/boards/:board_id2158 updates the board name2159 updates the issue board booleans2160 GET /groups/:id/boards/:board_id/lists2161 returns issue board lists2162 returns 404 if board not found2163 GET /groups/:id/boards/:board_id/lists/:list_id2164 returns a list2165 returns 404 if list not found2166 POST /groups/:id/boards/lists2167 creates a new issue board list for labels2168 returns 400 when creating a new list if label_id is invalid2169 returns 403 for members with guest role2170 PUT /groups/:id/boards/:board_id/lists/:list_id to update only position2171 updates a list2172 returns 404 error if list id not found2173 returns 403 for members with guest role2174 DELETE /groups/:id/boards/lists/:list_id2175 rejects a non member from deleting a list2176 rejects a user with guest role from deleting a list2177 returns 404 error if list id not found2178 when the user is parent owner2179 deletes the list if an admin requests it2180 behaves like 412 response2181 for a modified ressource2182 returns 412 with a JSON error2183 for an unmodified ressource2184 returns 204 with an empty body2185 behaves like multiple and scoped issue boards2186 multiple issue boards2187 POST /groups/:id/boards2188 creates a board2189 PUT /groups/:id/boards/:board_id2190 updates a board2191 does not remove missing attributes from the board2192 allows removing optional attributes2193 DELETE /groups/:id/boards/:board_id2194 deletes a board2195 with the scoped_issue_board-feature available2196 returns the milestone when the `scoped_issue_board` feature is enabled2197 hides the milestone when the `scoped_issue_board` feature is disabled2198 POST /groups/:id/boards/:board_id/lists2199 behaves like milestone board list2200 when milestone_id is sent2201 returns 400 if milestone is not found2202 returns 400 if milestone list feature is not available2203 creates a milestone list if milestone is found2204 behaves like assignee board list2205 when assignee_id is sent2206 returns 400 if user is not found2207 returns 400 if assignee list feature is not available2208 creates an assignee list if user is found2209 behaves like iteration board list2210 when iteration_id is sent2211 returns 400 if iteration is not found2212 returns 400 if feature flag is disabled2213 returns 400 if not licensed2214 creates an iteration list if iteration is found2215Projects::JobsController2216 GET #show2217 when requesting JSON2218 with shared runner that has quota2219 exposes quota information2220 with shared runner quota exceeded2221 exposes quota information2222 when shared runner has no quota2223 does not exposes quota information2224 when project is public2225 exposes quota information2226 the environment is protected2227DEPRECATION WARNING: /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/activerecord-6.0.3.4/lib/active_record/relation.rb:412: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call2228/builds/gitlab-org/gitlab/app/models/concerns/has_environment_scope.rb:25: warning: The called method is defined here2229 (called from find_platform_kubernetes_with_cte at /builds/gitlab-org/gitlab/app/models/concerns/deployment_platform.rb:27)2230 renders successfully2231 anonymous user2232 renders successfully2233Projects::ClustersController2234 behaves like cluster metrics2235 GET #metrics2236 functionality2237 can query Prometheus2238 queries cluster metrics2239 when response has content2240 returns prometheus query response2241 when response has no content2242 returns prometheus query response2243 without Prometheus2244 returns not found2245 cannot query Prometheus2246 returns not found2247 security2248 is allowed for admin when admin mode enabled2249 is denied for admin when admin mode disabled2250 is expected to be allowed for owner. Expected: 200,201,204,302 Got: 2042251 is expected to be allowed for maintainer. Expected: 200,201,204,302 Got: 2042252 is expected to be denied for developer. Expected: 401,404 Got: 4042253 is expected to be denied for reporter. Expected: 401,404 Got: 4042254 is expected to be denied for guest. Expected: 401,404 Got: 4042255 is expected to be denied for user. Expected: 401,404 Got: 4042256 is expected to be denied for external. Expected: 401,404 Got: 4042257Git HTTP requests2258 User with no identities2259 when Kerberos token is provided2260 when authentication fails because of invalid Kerberos token2261 responds with status 401 Unauthorized2262 when authentication fails because of unknown Kerberos identity2263 responds with status 401 Unauthorized2264 when authentication succeeds2265 when the user has access to the project2266 complies with RFC45592267 when the user is blocked2268 responds with status 403 Forbidden2269 when the user isn't blocked2270 responds with status 200 OK2271 updates the user last activity2272 when the user doesn't have access to the project2273 responds with status 404 Not Found2274 complies with RFC45592275 when license is not provided2276 behaves like pulls are allowed2277 is expected to eq "application/vnd.gitlab-workhorse+json"2278 behaves like pushes are allowed2279 is expected to eq "application/vnd.gitlab-workhorse+json"2280 when SSO is enforced2281 behaves like pulls are allowed2282 is expected to eq "application/vnd.gitlab-workhorse+json"2283API::ProjectApprovalRules2284 GET /projects/:id/approval_rules/:approval_rule_id2285 when the request is correct2286 matches the response schema2287 when the user is not authorized2288 does not display rule information2289 GET /projects/:id/approval_rules2290 when the request is correct2291 matches the response schema2292 private group filtering2293 excludes private groups if user has no access2294 includes private groups if user has access2295 report_approver rules2296 includes report_approver rules2297 POST /projects/:id/approval_rules2298 behaves like an API endpoint for creating project approval rule2299 when missing parameters2300 returns 400 status2301 when user is without access2302 returns 4032303 when the request is correct2304 returns 201 status2305 changes settings properly2306 when protected_branch_ids param is present2307 creates approval rule associated to specified protected branches2308 when creating a 'License-Check' approval rule2309 specifies a `rule_type` of `report_approver`2310 when creating a 'Vulnerability-Check' approval rule2311 specifies a `rule_type` of `report_approver`2312 PUT /projects/:id/approval_rules/:approval_rule_id2313 behaves like an API endpoint for updating project approval rule2314 as a project admin2315 behaves like a user with access2316 sets approvers2317 when protected_branch_ids param is present2318 associates approval rule to specified protected branches2319 when approver already exists2320 when sending json data2321 removes all approvers if empty params are given2322 as a global admin2323 behaves like a user with access2324 sets approvers2325 when protected_branch_ids param is present2326 associates approval rule to specified protected branches2327 when approver already exists2328 when sending json data2329 removes all approvers if empty params are given2330 as a random user2331 returns 4032332 DELETE /projects/:id/approval_rules/:approval_rule_id2333 behaves like an API endpoint for deleting project approval rule2334 destroys2335 when approval rule not found2336 returns not found2337 when user is not eligible to delete2338 returns forbidden2339API::ProjectAliases2340 without premium license2341 GET /project_aliases2342 returns 4032343 GET /project_aliases/:name2344 returns 4032345 POST /project_aliases2346 returns 4032347 DELETE /project_aliases/:name2348 returns 4032349 with premium license2350 GET /project_aliases2351 behaves like GitLab administrator only API endpoint2352 anonymous user2353 returns 4012354 regular user2355 returns 4032356 admin2357 returns the project aliases list2358 GET /project_aliases/:name2359 behaves like GitLab administrator only API endpoint2360 anonymous user2361 returns 4012362 regular user2363 returns 4032364 admin2365 existing project alias2366 returns the project alias2367 non-existent project alias2368 returns 4042369 POST /project_aliases2370 behaves like GitLab administrator only API endpoint2371 anonymous user2372 returns 4012373 regular user2374 returns 4032375 admin2376 existing project alias2377 returns 4002378 non-existent project alias2379 returns 2002380 DELETE /project_aliases/:name2381 behaves like GitLab administrator only API endpoint2382 anonymous user2383 returns 4012384 regular user2385 returns 4032386 admin2387 existing project alias2388 returns 2042389 non-existent project alias2390 returns 4042391Registrations::GroupsController2392 GET #new2393 with an unauthenticated user2394 is expected to respond with numeric status code redirect2395 is expected to redirect to "/users/sign_in"2396 with an authenticated user2397 is expected to respond with numeric status code ok2398 is expected to render template new2399 assigns the group variable to a new Group with the default group visibility2400 calls the record user method for trial_during_signup experiment2401 user without the ability to create a group2402 is expected to respond with numeric status code not_found2403 signup onboarding not enabled2404 is expected to respond with numeric status code not_found2405 behaves like hides email confirmation warning2406 with an unconfirmed email address present2407 is expected not to set confirm warning for "unconfirmed@gitlab.com"2408 without an unconfirmed email address present2409 is expected not to set confirm warning for "user1457@example.org"2410 POST #create2411 with an unauthenticated user2412 is expected to respond with numeric status code redirect2413 is expected to redirect to "/users/sign_in"2414 with an authenticated user2415 behaves like hides email confirmation warning2416 with an unconfirmed email address present2417 is expected not to set confirm warning for "unconfirmed@gitlab.com"2418 without an unconfirmed email address present2419 is expected not to set confirm warning for "user1459@example.org"2420 when signup onboarding is not enabled2421 is expected to respond with numeric status code not_found2422 when group can be created2423 creates a group2424 when the trial onboarding is active - apply_trial_for_trial_onboarding_flow2425 when trial can be applied2426 when registration_group_invite experiment is enabled2427 is expected to redirect to "/users/sign_up/group_invites/new?group_id=2042&trial=false&trial_onboarding_flow=true"2428 when registration_group_invite experiment is disabled2429 is expected to redirect to "/users/sign_up/projects/new?namespace_id=2042&trial=false&trial_onboarding_flow=true"2430 when failing to apply trial2431 is expected to render template new2432 when not in the trial onboarding - registration_onboarding_flow2433 calls the record user trial_during_signup experiment2434 when in experiment group for trial_during_signup - trial_during_signup_flow2435 when a user chooses a trial - create_lead_and_apply_trial_flow2436 when successfully creating a lead and applying trial2437 with registrations_group_invite experiment2438 tracks experiment as expected2439 when registrations_group_invite invite_page path is taken2440 is expected to redirect to "/users/sign_up/group_invites/new?group_id=2043&trial=true"2441 when registrations_group_invite experiment control path is taken2442 is expected to redirect to "/users/sign_up/projects/new?namespace_id=2043&trial=true"2443 when failing to create a lead and apply trial2444 is expected to render template new2445 when user chooses no trial2446 calls the record user trial_during_signup experiment2447 does not call trial_during_signup experiment methods2448 with registrations_group_invite experiment2449 tracks experiment as expected2450 when registrations_group_invite invite_page path is taken2451 is expected to redirect to "/users/sign_up/group_invites/new?group_id=2045&trial=false"2452 when registrations_group_invite experiment control path is taken2453 is expected to redirect to "/users/sign_up/projects/new?namespace_id=2046&trial=false"2454 when not in experiment group for trial_during_signup2455 tracks experiment as expected2456 when registrations_group_invite invite_page path is taken2457 is expected to redirect to "/users/sign_up/group_invites/new?group_id=2047&trial=false"2458 when registrations_group_invite experiment control path is taken2459 is expected to redirect to "/users/sign_up/projects/new?namespace_id=2048&trial=false"2460 behaves like GroupInviteMembers2461 when inviting members2462 without valid emails in the params2463 no invites generated by default2464 does not track the event2465 with valid emails in the params2466 adds users with developer access and ignores blank and invalid emails2467 tracks the event2468 when the group cannot be created2469 does not create a group2470 does not call call the successful flow2471 is expected to respond with numeric status code ok2472 is expected to render template new2473Groups::MergeRequestsController2474 POST #bulk_update2475 when group bulk edit feature is not enabled2476 returns 404 status2477 when group bulk edit feature is enabled2478 when user has permissions to bulk update merge requests2479 returns status 2002480 updates merge requests milestone2481 when user does not have permissions to bulk update merge requests2482 returns status 4042483 does not update merge requests milestone2484Groups::InsightsController2485 when insights configuration project cannot be read by current user2486 when visiting the parent group2487 GET #show.html2488 behaves like 404 status2489 returns 404 status2490 GET #show.json2491 behaves like 404 status2492 returns 404 status2493 POST #query2494 behaves like 404 status2495 returns 404 status2496 when visiting a nested group2497 GET #show.html2498 behaves like 200 status2499 returns 200 status2500 GET #show.json2501 does return the default config2502 behaves like 200 status2503 returns 200 status2504 POST #query.json2505 behaves like 200 status2506 returns 200 status2507 when insights configuration project can be read by current user2508 when the configuration is attached to the current group2509 GET #show.html2510 behaves like 200 status2511 returns 200 status2512 GET #show.json2513 behaves like 200 status2514 returns 200 status2515 POST #query.json2516 behaves like 200 status2517 returns 200 status2518 GET #show2519 behaves like tracking unique visits2520 tracks unique visit if the format is HTML2521 tracks unique visit if DNT is not enabled2522 does not track unique visit if DNT is enabled2523 does not track unique visit if the format is JSON2524 when the configuration is attached to a nested group2525 GET #show.html2526 behaves like 200 status2527 returns 200 status2528 GET #show.json2529 behaves like 200 status2530 returns 200 status2531 POST #query.json2532 behaves like 200 status2533 returns 200 status2534Running a DAST Scan2535 behaves like an on-demand scan mutation when user cannot run an on-demand scan2536 when a user does not have access to the project2537 behaves like a mutation that returns a top-level access error2538 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"]2539 when a user does not have access to run a dast scan on the project2540 behaves like a mutation that returns a top-level access error2541 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"]2542 behaves like an on-demand scan mutation when user can run an on-demand scan2543 returns an empty errors array2544 returns a pipeline_url containing the correct path2545 when on demand scan licensed feature is not available2546 behaves like a mutation that returns a top-level access error2547 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"]2548 when dast_scanner_profile_id is provided2549 returns an empty errors array2550 when wrong type of global id is passed2551 behaves like a mutation that returns top-level errors2552 is expected to eq ["Variable $dastOnDemandScanCreateInput of type DastOnDemandScanCreateInput! was provided invalid val... dastSiteProfileId (\"gid://gitlab/DastSite/7\" does not represent an instance of DastSiteProfile)"]2553 when pipeline creation fails2554 behaves like a mutation that returns errors in the response2555 is expected to contain exactly "error message"2556get list of epics for an epic board list2557 sorting and pagination2558 behaves like sorted paginated query2559 behaves like requires variables2560 shared example requires variables to be set2562 when sorting2563 sorts correctly2564 when paginating2565 paginates correctly2566API::ResourceLabelEvents2567 when eventable is an Epic2568 behaves like resource_label_events API2569 GET /groups/:id/epics/:noteable_id/resource_label_events2570 with local label reference2571 returns an array of resource label events2572 returns a 404 error when eventable id not found2573 returns 404 when not authorized2574 with cross-project label reference2575 returns cross references accessible by user2576 does not return cross references not accessible by user2577 GET /groups/:id/epics/:noteable_id/resource_label_events/:event_id2578 with local label reference2579 returns a resource label event by id2580 returns 404 when not authorized2581 returns a 404 error if resource label event not found2582 with cross-project label reference2583 returns a 404 error if cross-reference project is not accessible2584 pagination2585 returns the second page2586Update of an existing issue2587 updates the issue2588 setting epic2589 sets the epic2590 the epic is not readable to the current user2591 does not set the epic2592 the epic is not an epic2593 does not set the epic2594 the epic is not an epic, using the ID type2595 does not set the epic2596 removing epic2597 removes the epic2598 the epic argument is not provided2599 does not remove the epic2600Projects::ApproverGroupsController2601 #destroy2602 on a merge request2603 when the user cannot update approvers because they do not have access2604 returns a 4042605 does not destroy any approver groups2606 when the user cannot update approvers because of the project setting2607 returns a 4042608 does not destroy any approver groups2609 when the user can update approvers2610 destroys the provided approver group2611 on a project2612 when the user cannot update approvers because they do not have access2613 returns a 4042614 does not destroy any approver groups2615 when the user can update approvers2616 destroys the provided approver2617Creating a DAST Site Token2618 behaves like an on-demand scan mutation when user cannot run an on-demand scan2619 when a user does not have access to the project2620 behaves like a mutation that returns a top-level access error2621 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"]2622 when a user does not have access to run a dast scan on the project2623 behaves like a mutation that returns a top-level access error2624 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"]2625 behaves like an on-demand scan mutation when user can run an on-demand scan2626 returns an empty errors array2627 returns the dast_site_validation id2628 creates a new dast_site_validation2629 when on demand scan licensed feature is not available2630 behaves like a mutation that returns a top-level access error2631 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"]2632API::Jobs2633 GET /projects/:id/jobs/:job_id/artifacts2634 when using job_token to authenticate2635 when cross-project pipelines are enabled2636 user is developer2637 returns specific job artifacts2638 when anonymous user is accessing private artifacts2639 hides artifacts and rejects request2640 when cross-project pipeline are disabled2641 disallows access to the artifacts2642 when the job is not running2643 disallows access to the artifacts2644 GET /projects/:id/artifacts/:ref_name/download?job=name2645 when using job_token to authenticate2646 when cross-project pipelines are enabled2647 when user is developer2648 when artifacts are stored locally2649DEPRECATION WARNING: Class level methods will no longer inherit scoping from `outside_pipeline_family` in Rails 6.1. To continue using the scoped relation, pass it into the block directly. To instead access the full set of models, as Rails 6.1 will, use `Ci::Pipeline.default_scoped`. (called from same_family_pipeline_ids at /builds/gitlab-org/gitlab/app/models/ci/pipeline.rb:909)2650DEPRECATION WARNING: Class level methods will no longer inherit scoping from `outside_pipeline_family` in Rails 6.1. To continue using the scoped relation, pass it into the block directly. To instead access the full set of models, as Rails 6.1 will, use `Ci::Pipeline.default_scoped`. (called from base_and_descendants_cte at /builds/gitlab-org/gitlab/lib/gitlab/object_hierarchy.rb:170)2651DEPRECATION WARNING: Class level methods will no longer inherit scoping from `outside_pipeline_family` in Rails 6.1. To continue using the scoped relation, pass it into the block directly. To instead access the full set of models, as Rails 6.1 will, use `Ci::Pipeline.default_scoped`. (called from base_and_descendants at /builds/gitlab-org/gitlab/lib/gitlab/object_hierarchy.rb:78)2652 returns specific job artifacts2653 when artifacts are stored remotely2654 returns location redirect2655 when user is admin, but not member2656 does not allow to see that artfiact is present2657Mutations::Boards::Create2658 behaves like boards create mutation2659 when the user does not have permission2660 does not create the board2661 behaves like a mutation that returns a top-level access error2662 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"]2663 when the user has permission2664 when the parent (project_path or group_path) param is given2665 when everything is ok2666 creates the board2667 returns the created board2668 when hide_backlog_list parameter is true2669 returns the board with correct hide_backlog_list field2670 when hide_closed_list parameter is true2671 returns the board with correct hide_closed_list field2672 when the Boards::CreateService returns an error response2673 does not create a board2674 returns an error2675 when neither project_path nor group_path param is given2676 does not create the board2677 behaves like a mutation that returns top-level errors2678 is expected to eq ["Exactly one of group_path or project_path arguments is required"]2679getting epics information2680 query for epics which start with an iid2681 when a valid iidStartsWith query is provided2682 returns the expected epics2683 when invalid iidStartsWith query is provided2684 fails with negative number2685 fails with string2686 fails if query contains line breaks2687 query for epics by time frame2688 when start_date and end_date are present2689 returns epics within timeframe2690 when only start_date is present2691 raises error2692 when only end_date is present2693 raises error2694 query for epics with events2695 can lookahead to prevent N+1 queries2696Running a DAST Profile2697 behaves like an on-demand scan mutation when user cannot run an on-demand scan2698 when a user does not have access to the project2699 behaves like a mutation that returns a top-level access error2700 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"]2701 when a user does not have access to run a dast scan on the project2702 behaves like a mutation that returns a top-level access error2703 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"]2704 behaves like an on-demand scan mutation when user can run an on-demand scan2705 returns an empty errors array2706 returns a pipeline_url containing the correct path2707 when on demand scan licensed feature is not available2708 behaves like a mutation that returns a top-level access error2709 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"]2710 when pipeline creation fails2711 behaves like a mutation that returns errors in the response2712 is expected to contain exactly "error message"2713API::ResourceIterationEvents2714 when eventable is an Issue2715 behaves like resource_iteration_events API2716 GET /projects/:id/issues/:noteable_id/resource_iteration_events2717 returns an array of resource iteration events2718 returns a 404 error when eventable id not found2719 returns 404 when not authorized2720 GET /projects/:id/issues/:noteable_id/resource_iteration_events/:event_id2721 returns a resource iteration event by id2722 returns 404 when not authorized2723 returns a 404 error if resource iteration event not found2724 pagination2725 returns the second page2726Epic aggregates (count and weight)2727 count and weight totals2728 uses the LazyEpicAggregate service2729 returns the weights2730 behaves like counts properly2731 returns the epic counts2732 returns the issue counts2733 behaves like a working graphql query2734 returns a successful response2735 when requesting has_issues2736 behaves like having correct values for2737 behaves like a working graphql query2738 returns a successful response2739 when target epic has child epics or issues2740 returns true2741 when target epic has no child epics nor issues2742 returns false2743 behaves like efficient query2744 does not result in N+12745 when requesting has_children2746 behaves like having correct values for2747 behaves like a working graphql query2748 returns a successful response2749 when target epic has child epics or issues2750 returns true2751 when target epic has no child epics nor issues2752 returns false2753 behaves like efficient query2754 does not result in N+12755Setting the epic of an issue2756 returns an error if the user is not allowed to update the issue2757 returns an error if issue can not be updated2758 promotes the issue to epic2759 when epic has to be in a different group2760 when user cannot create epic in new group2761 does not promote the issue to epic2762 when user can create epic in new group2763 promotes the issue to epic2764Creating a DAST Site Token2765 behaves like an on-demand scan mutation when user cannot run an on-demand scan2766 when a user does not have access to the project2767 behaves like a mutation that returns a top-level access error2768 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"]2769 when a user does not have access to run a dast scan on the project2770 behaves like a mutation that returns a top-level access error2771 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"]2772 behaves like an on-demand scan mutation when user can run an on-demand scan2773 returns an empty errors array2774 returns the dast_site_token id2775 creates a new dast_site_token2776 when on demand scan licensed feature is not available2777 behaves like a mutation that returns a top-level access error2778 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"]2779Delete a DAST Scanner Profile2780 behaves like an on-demand scan mutation when user cannot run an on-demand scan2781 when a user does not have access to the project2782 behaves like a mutation that returns a top-level access error2783 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"]2784 when a user does not have access to run a dast scan on the project2785 behaves like a mutation that returns a top-level access error2786 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"]2787 behaves like an on-demand scan mutation when user can run an on-demand scan2788 returns an empty errors array2789 deletes the dast_scanner_profile2790 when on demand scan licensed feature is not available2791 behaves like a mutation that returns a top-level access error2792 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"]2793 when the dast_scanner_profile belongs to another project2794 behaves like a mutation that returns a top-level access error2795 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"]2796 when the dast_scanner_profile does not exist2797 behaves like a mutation that returns errors in the response2798 is expected to contain exactly "Scanner profile not found for given parameters"2799API::MergeTrains2800 GET /projects/:id/merge_trains2801 when there are two merge trains2802 returns merge trains sorted by id in descending order2803 does not have N+1 problem2804 when sort is specified2805 returns merge trains sorted by id in ascending order2806 when scope is specified2807 when scope is active2808 returns active merge trains2809 when scope is complete2810 returns complete merge trains2811 when user is guest2812 forbids the request2813getting notes for an epic2814 behaves like exposing regular notes on a noteable in GraphQL2815 for regular notes2816 includes the note2817 behaves like a working graphql query2818 returns a successful response2819 for discussions2820 includes all discussion notes2821 behaves like a working graphql query2822 returns a successful response2823Groups::Analytics::ProductivityAnalyticsController2824 usage counter2825 increments usage counter2826 doesn't increment the usage counter when JSON request is sent2827 GET show2828 when user is not authorized to view productivity analytics2829 renders 403, forbidden error2830 when feature is not licensed2831 renders forbidden error2832 when the feature is licensed2833 behaves like tracking unique visits2834 tracks unique visit if the format is HTML2835 tracks unique visit if DNT is not enabled2836 does not track unique visit if DNT is enabled2837 does not track unique visit if the format is JSON2838 GET show.json2839 when feature is not licensed2840 renders forbidden error2841 when invalid params are given2842 returns 422, unprocessable_entity2843 without group_id specified2844 renders 403, forbidden2845 with non-existing group_id2846 renders 404, not_found2847 with non-existing project_id2848 renders 404, not_found2849 with group specified2850 for list of MRs2851 serializes whatever analytics returns with ProductivityAnalyticsMergeRequestEntity2852 sets pagination headers2853 for scatterplot charts2854 renders whatever analytics returns for scatterplot2855 for histogram charts2856 renders whatever analytics returns for histogram2857Repositories::GitHttpController2858 POST #git_upload_pack2859 geo pulls a personal snippet2860 allows access2861 does not allow access if scope is wrong2862 GET #info_refs2863 smartcard session required2864 user with a smartcard session2865 allows access2866 user without a smartcard session2867 does not allow access2868 with the setting off2869 allows access2870 POST #git_receive_pack2871 when node is a primary Geo one2872 with projects2873 behaves like triggers Geo2874 executes ::Gitlab::Geo::GitPushHttp2875 returns 2002876 with a project wiki2877 behaves like triggers Geo2878 executes ::Gitlab::Geo::GitPushHttp2879 returns 2002880 with a group wiki2881 behaves like triggers Geo2882 executes ::Gitlab::Geo::GitPushHttp2883 returns 2002884 with a personal snippet2885 behaves like triggers Geo2886 executes ::Gitlab::Geo::GitPushHttp2887 returns 2002888 with a project snippet2889 behaves like triggers Geo2890 executes ::Gitlab::Geo::GitPushHttp2891 returns 2002892API::Dependencies2893 GET /projects/:id/dependencies2894 behaves like a gitlab tracking event2895 creates a gitlab tracking event view_dependencies2896 with an authorized user with proper permissions2897 returns all dependencies2898 returns vulnerabilities info2899 with nil package_manager2900 returns no dependencies2901 with filter options2902 returns yarn dependencies2903 with wrong key2904 returns error message2905 without permissions to see vulnerabilities2906 returns empty vulnerabilities2907 with authorized user without read permissions2908 responds with 403 Forbidden2909 with no project access2910 responds with 404 Not Found2911SmartcardController2912 #auth2913 with smartcard_auth enabled2914 redirects to extract certificate2915 with provider param2916 forwards the provider param2917 with smartcard_auth disabled2918 renders 4042919 #extract_certificate2920 with smartcard_auth enabled2921 redirects to verify certificate2922 with provider param2923 forwards the provider param2924 missing NGINX client certificate header2925 renders unauthorized2926 request from different host / port2927 renders 4042928 with smartcard_auth disabled2929 renders 4042930 #verify_certificate2931 Smartcard::Certificate2932 behaves like a client certificate authentication2933 with smartcard_auth enabled2934 allows sign in2935 redirects to root2936 logs audit event2937 stores active session2938 user does not exist2939 signup allowed2940 creates user2941 signup disabled2942 renders 4012943 missing client certificate param2944 renders unauthorized2945 with smartcard_auth disabled2946 renders 4042947 user already exists2948 finds existing user2949 certificate header formats from NGINX2950 escaped format2951 behaves like valid certificate header2952 authenticates user2953 deprecated format2954 behaves like valid certificate header2955 authenticates user2956 Smartcard::LdapCertificate2957 sets correct parameters for LDAP search2958 behaves like a client certificate authentication2959 with smartcard_auth enabled2960 allows sign in2961 redirects to root2962 logs audit event2963 stores active session2964 user does not exist2965 signup allowed2966 creates user2967 signup disabled2968 renders 4012969 missing client certificate param2970 renders unauthorized2971 with smartcard_auth disabled2972 renders 4042973 user already exists2974 finds existing user2975 user has a different identity2976 doesn't login a user2977 doesn't create a new user entry either2978Projects::AuditEventsController2979 GET #index2980 authorized2981 tracks search event2982 when audit_events feature is available2983 renders index with 200 status code2984 invokes AuditLogFinder with correct arguments2985 behaves like AuditLogFinder params2986 has the correct params2987 author2988 when no author entity type is specified2989 behaves like AuditLogFinder params2990 has the correct params2991 when the author entity type is specified2992 behaves like AuditLogFinder params2993 has the correct params2994 ordering2995 when no sort order is specified2996 behaves like orders by id descending2997 orders by id descending2998 when sorting by latest events first2999 behaves like orders by id descending3000 orders by id descending3001 when sorting by oldest events first3002 orders by id ascending3003 when sorting by an unsupported sort order3004 behaves like orders by id descending3005 orders by id descending3006 pagination3007 sets instance variables3008 paginates audit events, without casting a count query3009 when audit_events feature is not available3010 renders 4043011 authorized as user without admin project permission3012 returns only events by current user3013 unauthorized3014 renders 4043015Subscriptions::GroupsController3016 GET #edit3017 with an unauthenticated user3018 is expected to respond with numeric status code redirect3019 is expected to redirect to "/users/sign_in"3020 with an authenticated user3021 is expected to respond with numeric status code ok3022 PUT #update3023 with an unauthenticated user3024 is expected to respond with numeric status code redirect3025 is expected to redirect to "/users/sign_in"3026 with an authenticated user who is not a group owner3027 is expected to respond with numeric status code ok3028 is expected to render template edit3029 does not update the name3030 with an authenticated user3031 updates the name3032 updates the path3033 updates the visibility_level3034 redirects to the group path3035 is expected to should set flash[:notice] to "Subscription successfully applied to \"New name\""3036 with new_user param3037 is expected to should set flash[:notice] to "Welcome to GitLab, John!"3038 when the group cannot be saved3039 does not update the name3040 does not update the path3041 re-renders the edit template3042Namespace.projects3043 sorting and pagination3044 when sorting by STORAGE3045 behaves like sorted paginated query3046 behaves like requires variables3047 shared example requires variables to be set3049 when sorting3050 sorts correctly3051 when paginating3052 paginates correctly3053Projects::DeployKeysController3054 POST create3055 records an audit event3056 /enable/:id3057 with user with permission3058 records an audit event3059 returns 4043060 /disable/:id3061 with admin3062 records an audit event3063Updating an Iteration3064 when the user does not have permission3065 does not update iteration3066 behaves like a mutation that returns a top-level access error3067 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"]3068 when the user has permission3069 when iterations are disabled3070 behaves like a mutation that returns top-level errors3071 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"3072 when iterations are enabled3073 updates the iteration3074 when updating dates3075 updates the iteration with date in the past3076 does not update the iteration title3077 when another iteration with given dates overlap3078 behaves like a mutation that returns errors in the response3079 is expected to contain exactly "Dates cannot overlap with other existing Iterations within this group"3080 when given a raw model id (backward compatibility)3081 updates the iteration3082 when the list of attributes is empty3083 does not update the iteration3084 behaves like a mutation that returns top-level errors3085 is expected to eq ["The list of iteration attributes is empty"]3086Projects::Security::DashboardController3087 when the "Security & Compliance" feature is disabled3088 is expected to respond with numeric status code not_found3089 behaves like SecurityDashboardsPermissions3090 access for all actions3091 when security dashboard feature is disabled3092 returns 4043093 when security dashboard feature is enabled3094 when user has guest access3095 denies access3096 when user has developer access3097 grants access3098 GET #index3099 when project has no vulnerabilities3100 renders empty state3101 when project has vulnerabilities3102 renders dashboard with vulnerability metadata3103Projects::Security::ApiFuzzingConfigurationController3104 when the "Security & Compliance" feature is disabled3105 is expected to respond with numeric status code not_found3106 GET #show3107 behaves like SecurityDashboardsPermissions3108 access for all actions3109 when security dashboard feature is disabled3110 returns 4043111 when security dashboard feature is enabled3112 when user has guest access3113 denies access3114 when user has developer access3115 grants access3116 with authorized user3117 renders the show template3118 renders the side navigation with the correct submenu set as active3119 with feature flag disabled3120 returns a 404 for an HTML request3121 with unauthorized user3122 returns a 4033123API::Ci::Runner3124 /api/v4/jobs3125 POST /api/v4/jobs/request3126 secrets management3127 when secrets management feature is available3128 when job has secrets configured3129 when runner does not support secrets3130 sets "runner_unsupported" failure reason and does not expose the build at all3131 when runner supports secrets3132 returns secrets configuration3133 job does not have secrets configured3134 doesn not return secrets configuration3135 when secrets management feature is not available3136 job has secrets configured3137 doesn not return secrets configuration3138Querying an Iteration3139 when the user has access to the iteration3140 is expected to include {"title" => "My title 620"}3141 behaves like a working graphql query3142 returns a successful response3143 when the user does not have access to the iteration3144 is expected to be nil3145 behaves like a working graphql query3146 returns a successful response3147 when ID argument is missing3148 raises an exception3149 scoped path3150 inside a project context3151 group-owned iteration3152 behaves like scoped path3153 is expected to include {"scopedPath" => "/group613/project602/-/iterations/18", "scopedUrl" => /\/group613\/project602\/-\/iterations\/18$/, "webPath" => "/groups/group613/-/iterations/18", "webUrl" => /\/groups\/group613\/-\/iterations\/18$/}3154 when given a raw model id (backward compatibility)3155 is expected to include {"scopedPath" => "/group613/project602/-/iterations/18", "scopedUrl" => /\/group613\/project602\/-\/iterations\/18$/, "webPath" => "/groups/group613/-/iterations/18", "webUrl" => /\/groups\/group613\/-\/iterations\/18$/}3156 project-owned iteration3157 behaves like scoped path3158 is expected to include {"scopedPath" => "/group613/project602/-/iterations/19", "scopedUrl" => /\/group613\/project602\/-\/iterations\/19$/, "webPath" => "/group613/project602/-/iterations/19", "webUrl" => /\/group613\/project602\/-\/iterations\/19$/}3159 when given a raw model id (backward compatibility)3160 is expected to include {"scopedPath" => "/group613/project602/-/iterations/19", "scopedUrl" => /\/group613\/project602\/-\/iterations\/19$/, "webPath" => "/group613/project602/-/iterations/19", "webUrl" => /\/group613\/project602\/-\/iterations\/19$/}3161 inside a group context3162 group-owned iteration3163 behaves like scoped path3164 is expected to include {"scopedPath" => "/groups/group613/-/iterations/18", "scopedUrl" => /\/groups\/group613\/-\/iterations\/18$/, "webPath" => "/groups/group613/-/iterations/18", "webUrl" => /\/groups\/group613\/-\/iterations\/18$/}3165 when given a raw model id (backward compatibility)3166 is expected to include {"scopedPath" => "/groups/group613/-/iterations/18", "scopedUrl" => /\/groups\/group613\/-\/iterations\/18$/, "webPath" => "/groups/group613/-/iterations/18", "webUrl" => /\/groups\/group613\/-\/iterations\/18$/}3167 group-owned iteration3168 behaves like scoped path3169 is expected to include {"scopedPath" => "/groups/group613/group614/-/iterations/18", "scopedUrl" => /\/groups\/group613\/group614\/-\/iterations\/18$/, "webPath" => "/groups/group613/-/iterations/18", "webUrl" => /\/groups\/group613\/-\/iterations\/18$/}3170 when given a raw model id (backward compatibility)3171 is expected to include {"scopedPath" => "/groups/group613/group615/-/iterations/18", "scopedUrl" => /\/groups\/group613\/group615\/-\/iterations\/18$/, "webPath" => "/groups/group613/-/iterations/18", "webUrl" => /\/groups\/group613\/-\/iterations\/18$/}3172 root context3173 group-owned iteration3174 behaves like scoped path3175 is expected to include {"scopedPath" => "/groups/group613/-/iterations/18", "scopedUrl" => /\/groups\/group613\/-\/iterations\/18$/, "webPath" => "/groups/group613/-/iterations/18", "webUrl" => /\/groups\/group613\/-\/iterations\/18$/}3176 when given a raw model id (backward compatibility)3177 is expected to include {"scopedPath" => "/groups/group613/-/iterations/18", "scopedUrl" => /\/groups\/group613\/-\/iterations\/18$/, "webPath" => "/groups/group613/-/iterations/18", "webUrl" => /\/groups\/group613\/-\/iterations\/18$/}3178 project-owned iteration3179 behaves like scoped path3180 is expected to include {"scopedPath" => "/groups/group613/-/iterations/18", "scopedUrl" => /\/groups\/group613\/-\/iterations\/18$/, "webPath" => "/groups/group613/-/iterations/18", "webUrl" => /\/groups\/group613\/-\/iterations\/18$/}3181 when given a raw model id (backward compatibility)3182 is expected to include {"scopedPath" => "/groups/group613/-/iterations/18", "scopedUrl" => /\/groups\/group613\/-\/iterations\/18$/, "webPath" => "/groups/group613/-/iterations/18", "webUrl" => /\/groups\/group613\/-\/iterations\/18$/}3183Creating a DAST Site Token3184 behaves like an on-demand scan mutation when user cannot run an on-demand scan3185 when a user does not have access to the project3186 behaves like a mutation that returns a top-level access error3187 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"]3188 when a user does not have access to run a dast scan on the project3189 behaves like a mutation that returns a top-level access error3190 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"]3191 behaves like an on-demand scan mutation when user can run an on-demand scan3192 returns an empty errors array3193 deletes dast_site_validations where state=passed3194 when on demand scan licensed feature is not available3195 behaves like a mutation that returns a top-level access error3196 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"]3197Projects::RequirementsManagement::RequirementsController3198 POST #import_csv3199 unauthorized3200 when user is not signed in3201 behaves like response with 404 status3202 returns 4043203 with project member with a guest role3204 behaves like response with 404 status3205 returns 4043206 authorized3207 when requirements feature is available and member is a reporter3208 shows error when upload fails3209 behaves like response with success status3210 returns 200 status and success message3211 when file extension is in upper case3212 behaves like response with success status3213 returns 200 status and success message3214 when file extension is not csv3215 returns error message3216 when requirements feature is not available3217 behaves like response with 404 status3218 returns 4043219 POST #authorize3220 with authorized user3221 when requirements feature is enabled3222 behaves like handle uploads authorize request3223 POST authorize3224 authorizes workhorse header3225 rejects requests that bypassed gitlab-workhorse3226 when using remote storage3227 when direct upload is enabled3228 responds with status 200, location of file remote store and object details3229 when direct upload is disabled3230 handles as a local file3231 when requirements feature is disabled3232 behaves like response with 404 status3233 returns 4043234 with unauthorized user3235 behaves like response with 404 status3236 returns 4043237Create a new cluster agent3238 without project permissions3239 does not create cluster agent3240 behaves like a mutation that returns a top-level access error3241 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"]3242 without premium plan3243 does not create cluster agent and returns error message3244 with premium plan and user permissions3245DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.3246 creates a new cluster agent3247getting test reports of a requirement3248 when user can read requirement3249 returns test reports successfully3250 behaves like a working graphql query3251 returns a successful response3252 with pagination3253 behaves like sorted paginated query3254 behaves like requires variables3255 shared example requires variables to be set3257 when sorting3258 sorts correctly3259 when paginating3260 paginates correctly3261 behaves like sorted paginated query3262 behaves like requires variables3263 shared example requires variables to be set3265 when sorting3266 sorts correctly3267 when paginating3268 paginates correctly3269 when the user does not have access to the requirement3270 returns nil3271API::Internal::Kubernetes3272 POST /internal/kubernetes/modules/cilium_alert3273 returns 403 if Authorization header not sent3274 returns 403 if Authorization is for non-existent agent3275 not authenticated3276 returns 4013277 kubernetes_agent_internal_api feature flag disabled3278 returns 4043279 is authenticated for an agent3280 returns no_content for valid alert payload3281 on GitLab.com3282 kubernetes_agent_on_gitlab_com feature flag disabled3283 returns 4033284 kubernetes_agent_on_gitlab_com feature flag enabled3285 returns success3286 when payload is invalid3287 returns bad request3288 when feature is not available3289 returns forbidden for non licensed project3290API::GroupClusters3291 POST /groups/:id/clusters/user3292 when user sets specific environment scope3293 creates a cluster with that specific environment3294 when does not set an specific environment scope3295 sets default environment3296 PUT /groups/:id/clusters/:cluster_id3297 With a GCP cluster3298 updates the environment scope3299 With an user cluster3300 updates the environment scope3301Projects::Security::DastProfilesController3302 GET #index3303 when the "Security & Compliance" feature is disabled3304 is expected to respond with numeric status code not_found3305 feature available3306 user authorized3307 can access page3308 user not authorized3309 sees a 404 error3310 feature not available3311 license doesnt't support the feature3312 sees a 404 error3313view audit events3314 GET /:namespace/:project/-/audit_events3315 returns 200 response3316 avoids N+1 DB queries3317Creating a new HTTP Integration3318 stores the custom mapping params3319 behaves like creating a new HTTP integration3320 creates a new integration3321 without required argument project_path3322 behaves like an invalid argument to the mutation3323 behaves like a mutation that returns top-level errors3324 is expected to contain exactly (include "invalid value for projectPath")3325 without required argument active3326 behaves like an invalid argument to the mutation3327 behaves like a mutation that returns top-level errors3328 is expected to contain exactly (include "invalid value for active")3329 without required argument name3330 behaves like an invalid argument to the mutation3331 behaves like a mutation that returns top-level errors3332 is expected to contain exactly (include "invalid value for name")3333 with the custom mappings feature unavailable3334 behaves like ignoring the custom mapping3335 creates integration without the custom mapping params3336 with multiple_http_integrations_custom_mapping feature flag disabled3337 behaves like ignoring the custom mapping3338 creates integration without the custom mapping params3339 behaves like validating the payload_example3340 validates the payload_example size3341 with invalid payloadExample attribute3342 responds with errors3343 behaves like validating the payload_attribute_mappings3344 with invalid payloadAttributeMapping attribute does not contain fieldName3345 responds with errors3346 with invalid payloadAttributeMapping attribute does not contain path3347 responds with errors3348 with invalid payloadAttributeMapping attribute does not contain type3349 responds with errors3350Projects::Analytics::MergeRequestAnalyticsController3351 GET #show3352 is expected to be successful3353 behaves like tracking unique visits3354 tracks unique visit if the format is HTML3355 tracks unique visit if DNT is not enabled3356 does not track unique visit if DNT is enabled3357 does not track unique visit if the format is JSON3358 when license is missing3359 is expected to respond with numeric status code not_found3360 when the user has no access to the group3361 is expected to respond with numeric status code not_found3362 when requesting HTML3363 renders the side navigation with the correct submenu set as active3364Creating an External Issue Link3365 when the user does not have permission3366 does not create external issue link3367 behaves like a mutation that returns a top-level access error3368 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"]3369 when the user has permission3370 when security_dashboard is disabled3371 behaves like a mutation that returns top-level errors3372 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"]3373 when security_dashboard is enabled3374 when jira is not configured3375 responds with error3376 when jira is configured3377 when issue creation succeeds3378 and saving external issue link succeeds3379 creates the external issue link and returns nil for external issue to be fetched using query3380 and saving external issue link fails3381 creates the external issue link3382 when issue creation fails3383 does not create the external issue link3384Query.project(fullPath).pipeline(iid).securityReportFinding3385 when `sast` and `dast` features are enabled3386 when user is memeber of the project3387DEPRECATION WARNING: /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/activerecord-6.0.3.4/lib/active_record/relation.rb:412: warning: Using the last argument as keyword parameters is deprecated; maybe ** should be added to the call3388/builds/gitlab-org/gitlab/ee/app/models/ee/ci/job_artifact.rb:29: warning: The called method is defined here3389 (called from security_reports at /builds/gitlab-org/gitlab/app/models/ci/pipeline.rb:1226)3390 returns all the vulnerability findings3391 returns all the queried fields3392 when user is not memeber of the project3393 returns no vulnerability findings3394 when `sast` and `dast` both features are disabled3395 returns no vulnerability findings3396Groups::RoadmapController3397 #show3398 when the user is signed in3399 when the user has access to the group3400 when epics feature is disabled3401 behaves like returns 404 status3402 is expected to respond with numeric status code not_found3403 when epics feature is enabled3404 returns 200 status3405 when roadmaps_sort is nil3406 stores roadmaps sorting param in user preference3407 defaults to sort_value_start_date_soon3408 when roadmaps_sort is present3409 update roadmaps_sort with current value3410 when the user does not have access to the group3411 behaves like returns 404 status3412 is expected to respond with numeric status code not_found3413 when user is not signed in3414 when epics feature is enabled3415 when anonymous users does not have access to the group3416 redirects to login page3417 when anonymous users have access to the group3418 stores epics sorting param in a cookie3419API::Repositories3420 GET /projects/:id/repository/archive(.:format)?:sha3421 when unauthenticated and project is public3422 behaves like an auditable and successful request3423 logs the audit event3424 sends the archive3425 when authenticated as a developer3426 behaves like an auditable and successful request3427 logs the audit event3428 sends the archive3429Project.cluster_agents3430DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.3431DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.3432DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.3433DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.3434DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.3435 can retrieve cluster agents3436 selecting page info3437 can paginate cluster agents3438 selecting tokens3439 can select tokens3440 does not suffer from N+1 performance issues3441Query.project(fullPath).dastScannerProfiles3442 when a user does not have access to the project3443 project response3444 is expected to be nil3445 when the user can run a dast scan3446 dast scanner profiles3447 is expected to be empty3448 when a user has access to multiple projects3449 dast scanner profiles3450 returns only the dast_scanner_profile for the requested project3451 when a user has access dast_scanner_profiles3452 dast scanner profiles3453 is expected not to be empty3454 first dast scanner profile id3455 is expected to eq "gid://gitlab/DastScannerProfile/15"3456 first dast scanner profile globalId3457 is expected to eq "gid://gitlab/DastScannerProfile/15"3458API::License3459 GET /license3460 retrieves the license information if admin is logged in3461 denies access if not admin3462 POST /license3463 adds a new license if admin is logged in3464 denies access if not admin3465 returns 400 if the license cannot be saved3466 DELETE /license/:id3467 destroys a license and returns 2043468 returns an error if the license doesn't exist3469 returns 403 if the user is not an admin3470 GET /licenses3471 returns a collection of licenses3472 returns an empty array if no licenses exist3473 returns 403 if the user is not an admin3474Projects::Security::ScannedResourcesController3475 GET #index3476 when the "Security & Compliance" feature is disabled3477 is expected to respond with numeric status code not_found3478 user has access to view vulnerabilities3479 when DAST security scan is found3480 returns a CSV representation of the scanned resources3481 when DAST licensed feature is unavailable3482 will return a 4043483 when security_dashboard licensed feature is not available3484 will return a 4043485 when DAST security scan is not found3486 will return a 4043487 when the pipeline id exists under another project3488 will return a 4043489 when the pipeline does not exist3490 will return a 4043491 user does not have access to view vulnerabilities3492 will return a 4043493Groups::Analytics::CycleAnalyticsController3494 when the license is available3495 succeeds3496 increments usage counter3497 renders `show` template when feature flag is enabled3498 when the license is missing3499 renders 403 error3500 when non-existent group is given3501 renders 403 error3502 with group and value stream params3503 builds request params with group and value stream3504SubscriptionsController3505 GET #new3506 with unauthenticated user3507 is expected to respond with numeric status code redirect3508 is expected to redirect to "/users/sign_up?redirect_from=checkout"3509 stores subscription URL for later3510 with authenticated user3511 is expected to render template layouts/checkout3512 is expected to render template new3513 GET #payment_form3514 with unauthorized user3515 is expected to respond with numeric status code redirect3516 is expected to redirect to "/users/sign_in"3517 with authorized user3518 is expected to respond with numeric status code ok3519 returns the data attribute of the client response in JSON format3520 GET #payment_method3521 with unauthorized user3522 is expected to respond with numeric status code redirect3523 is expected to redirect to "/users/sign_in"3524 with authorized user3525 is expected to respond with numeric status code ok3526 returns the data attribute of the client response in JSON format3527 POST #create3528 with unauthorized user3529 is expected to respond with numeric status code unauthorized3530 with authorized user3531 when setting up for a company3532 updates the setup_for_company attribute of the current user3533 creates a group based on the company3534 when not setting up for a company3535 does not update the setup_for_company attribute of the current user3536 creates a group based on the user3537 when an error occurs creating a group3538 returns the errors in json format3539 when invalid name is passed3540 returns the errors in json format3541 on successful creation of a subscription3542 is expected to respond with numeric status code ok3543 returns the group edit location in JSON format3544 on unsuccessful creation of a subscription3545 is expected to respond with numeric status code ok3546 returns the error message in JSON format3547 when selecting an existing group3548 does not create a group3549 returns the selected group location in JSON format3550 when selected group is a sub group3551 is expected to respond with numeric status code not_found3552 when selecting a non existing group3553 is expected to respond with numeric status code not_found3554Projects::IncidentManagement::OncallSchedulesController3555 GET #index3556 with read permissions3557 renders index with 200 status code3558 with admin permissions3559 renders index with 200 status code3560 unauthorized3561 responds with 4043562 with feature flag off3563 responds with 4043564 with unavailable feature3565 responds with 4043566Query.vulnerabilities.issueLinks3567 when invalid linkType argument is provided3568 errors with a string3569 errors with a number3570 errors with lowercased `created`3571 errors with lowercased `related`3572 when valid linkType argument is provided3573 returns a list of VulnerabilityIssueLink with `CREATED` linkType3574 returns a list of VulnerabilityIssueLink with `RELATED` linkType3575 when no arguments are provided3576 returns a list of all VulnerabilityIssueLink3577API::Iterations3578 GET /groups/:id/iterations3579 excludes ancestor iterations when include_ancestors is set to false3580 behaves like iterations list3581 when user does not have access3582 returns 4043583 when user has access3584 returns a list of iterations3585 returns iterations filtered by state3586 returns iterations filtered by title3587 returns 400 when param is invalid3588 GET /projects/:id/iterations3589 excludes ancestor iterations when include_ancestors is set to false3590 behaves like iterations list3591 when user does not have access3592 returns 4043593 when user has access3594 returns a list of iterations3595 returns iterations filtered by state3596 returns iterations filtered by title3597 returns 400 when param is invalid3598CiMinutesUsageMailer3599 #notify3600 when it is a group3601 behaves like mail format3602 is expected to have subject of "Action required: There are no remaining Pipeline minutes for group641"3603 is expected to be bcc'd to ["bob@example.com", "john@example.com"]3604 is expected to have body including "/group643"3605 is expected to have body including "has run out of Shared Runner Pipeline minutes"3606 when it is a namespace3607 behaves like mail format3608 is expected to have subject of "Action required: There are no remaining Pipeline minutes for John Doe1973"3609 is expected to be bcc'd to ["bob@example.com", "john@example.com"]3610 is expected to have body including "/namespace632"3611 is expected to have body including "has run out of Shared Runner Pipeline minutes"3612 #notify_limit3613 when it is a group3614 behaves like mail format3615 is expected to have subject of "Action required: Less than 30% of Pipeline minutes remain for group645"3616 is expected to be bcc'd to ["bob@example.com", "john@example.com"]3617 is expected to have body including "/group647"3618 is expected to have body including "has 30% or less Shared Runner Pipeline minutes"3619 when it is a namespace3620 behaves like mail format3621 is expected to have subject of "Action required: Less than 30% of Pipeline minutes remain for John Doe1977"3622 is expected to be bcc'd to ["bob@example.com", "john@example.com"]3623 is expected to have body including "/namespace636"3624 is expected to have body including "has 30% or less Shared Runner Pipeline minutes"3625API::Analytics::GroupActivityAnalytics3626 GET /group_activity/issues_count3627 behaves like GET group_activity3628 when feature is enabled for a group3629 is successful3630 is returns a count3631 when feature is not available in plan3632 is returns `forbidden`3633 when `group_path` is not specified3634 is returns `bad_request`3635 when user does not have access to a group3636 is returns `not_found`3637 GET /group_activity/merge_requests_count3638 behaves like GET group_activity3639 when feature is enabled for a group3640 is successful3641 is returns a count3642 when feature is not available in plan3643 is returns `forbidden`3644 when `group_path` is not specified3645 is returns `bad_request`3646 when user does not have access to a group3647 is returns `not_found`3648 GET /group_activity/new_members_count3649 behaves like GET group_activity3650 when feature is enabled for a group3651 is successful3652 is returns a count3653 when feature is not available in plan3654 is returns `forbidden`3655 when `group_path` is not specified3656 is returns `bad_request`3657 when user does not have access to a group3658 is returns `not_found`3659Create a Compliance Framework3660 feature is unlicensed3661 behaves like a mutation that returns errors in the response3662 is expected to contain exactly "Not permitted to create framework"3663 feature is licensed3664 feature is disabled3665 behaves like a mutation that returns errors in the response3666 is expected to contain exactly "Not permitted to create framework"3667 current_user is namespace owner3668 behaves like a mutation that creates a compliance framework3669 creates a new compliance framework3670 returns the newly created framework3671 current_user is group owner3672 behaves like a mutation that creates a compliance framework3673 creates a new compliance framework3674 returns the newly created framework3675 current_user is not namespace owner3676 does not create a new compliance framework3677 behaves like a mutation that returns errors in the response3678 is expected to contain exactly "Not permitted to create framework"3679Groups::Analytics::MergeRequestAnalyticsController3680 GET #show3681 is expected to be successful3682 behaves like tracking unique visits3683 tracks unique visit if the format is HTML3684 tracks unique visit if DNT is not enabled3685 does not track unique visit if DNT is enabled3686 does not track unique visit if the format is JSON3687 when license is missing3688 is expected to respond with numeric status code forbidden3689 when the user has no access to the group3690 is expected to respond with numeric status code forbidden3691Creating a Requirement3692 when the user does not have permission3693 does not create requirement3694 behaves like a mutation that returns a top-level access error3695 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"]3696 when the user has permission3697 when requirements are disabled3698 behaves like a mutation that returns top-level errors3699 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"]3700 when requirements are enabled3701DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.3702 creates the requirement3703 when there are ActiveRecord validation errors3704 does not create the requirement3705 behaves like a mutation that returns errors in the response3706 is expected to contain exactly "Title can't be blank"3707Adding a Note to an Epic3708 when the user does not have permission3709 behaves like a Note mutation when the user does not have permission3710 behaves like a Note mutation that does not create a Note3711 is expected not to change `Note.count`3712 behaves like a mutation that returns top-level errors3713 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 when the user has permission3715 behaves like a Note mutation that creates a Note3716 is expected to change `Note.count` by 13717Groups::Security::DashboardController3718 GET show3719 when security dashboard feature is enabled3720 and user is allowed to access group security dashboard3721 is expected to respond with numeric status code ok3722 when user is not allowed to access group security dashboard3723 is expected to respond with numeric status code ok3724 is expected to render template unavailable3725 when security dashboard feature is disabled3726 is expected to respond with numeric status code ok3727 is expected to render template unavailable3728Update a compliance framework3729 feature is unlicensed3730 behaves like a mutation that returns top-level errors3731 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"]3732 feature is licensed but disabled3733 behaves like a mutation that returns top-level errors3734 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"]3735 feature is licensed and enabled3736 with valid params3737 returns an empty array of errors3738 returns the updated framework3739 pipeline configuration full path3740 when compliance pipeline configuration feature is available3741 updates the pipeline configuration path attribute3742 when compliance pipeline configuration feature is not available3743 returns an error3744 current_user is not permitted to update framework3745 behaves like a mutation that returns top-level errors3746 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"]3747 with invalid params3748 returns an array of errors3749 does not update the framework3750Create a milestone or assignee board list3751 the user is not allowed to read board lists3752 behaves like a mutation that returns a top-level access error3753 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"]3754 when user has permissions to admin board lists3755 milestone list3756 creates the list3757 assignee list3758 creates the list3759getting Alert Management Integrations3760 with integrations3761 without project permissions3762 is expected to be nil3763 behaves like a working graphql query3764 returns a successful response3765 with project permissions3766 is expected to eq 33767 returns the correct properties of the integrations3768 behaves like a working graphql query3769 returns a successful response3770getting Alert Management HTTP Integrations3771 with integrations3772 without project permissions3773 is expected to be nil3774 behaves like a working graphql query3775 returns a successful response3776 with developer permissions3777 is expected to eq []3778 behaves like a working graphql query3779 returns a successful response3780 with maintainer permissions3781 is expected to eq 23782 returns the correct properties of the integrations3783 behaves like a working graphql query3784 returns a successful response3785Query3786 .vulnerabilitiesCountByDayAndSeverity3787 fetches historical vulnerability data from the start date to the end date for projects on the current user's instance security dashboard3788Boards::UsersController3789 GET index3790 with authorized user3791 returns a list of all members of board parent3792 with unauthorized user3793 with private group board3794 behaves like unauthorized board user listing3795 returns a forbidden 403 response3796 with private project board3797 behaves like unauthorized board user listing3798 returns a forbidden 403 response3799getting compliance frameworks for a collection of projects3800 querying a single project3801 avoids N+1 queries3802 contains the expected compliance framework3803 projects can have a compliance framework3804 contains the correct number of compliance frameworks3805 projects that share the same compliance framework3806 shares the same compliance framework id3807Update board epic user preferences3808 returns an error if user can not access the board3809 when user can access the board3810 returns an error if user can not access the epic3811 when user can access the epic3812 updates user preferences3813Admin::ElasticsearchController3814 POST #enqueue_index3815 starts indexing3816 without an index3817 does nothing and returns 4043818 POST #trigger_reindexing3819 creates a reindexing task3820 does not create a reindexing task if there is another one3821 POST #cancel_index_deletion3822 sets delete_original_index_at to nil3823 POST #retry_migration3824 deletes the migration record and drops the halted cache3825Registrations::WelcomeController3826 #trial_getting_started3827 without a signed in user3828 is expected to redirect to "/users/sign_in"3829 with the creator user signed3830 sets the learn_gitlab_project and renders3831 with any other user signed in except the creator3832 renders 4043833 #trial_onboarding_board3834 without a signed in user3835 is expected to redirect to "/users/sign_in"3836 with any other user signed in except the creator3837 renders 4043838 with the creator user signed3839 gitlab onboarding project is not imported yet3840 redirects to the boards path3841 gitlab onboarding project is imported yet3842 redirects to the board path3843 #update3844 without a signed in user3845 is expected to redirect to "/users/sign_up"3846 with a signed in user3847 email updates3848 when setup for company is false3849 when the user opted in3850 sets the email_opted_in fields3851 when user opted out3852 does not set the rest of the email_opted_in fields3853 when setup for company is true3854 sets email_opted_in fields3855 redirection3856 when signup_onboarding is not enabled3857 is expected to redirect to "/dashboard/projects"3858 when signup_onboarding is enabled3859 is expected to redirect to "/users/sign_up/groups/new"3860 when in subscription flow3861 is expected not to redirect to "/users/sign_up/groups/new"3862 when in invitation flow3863 is expected not to redirect to "/users/sign_up/groups/new"3864 when in trial flow3865 is expected not to redirect to "/users/sign_up/groups/new"3866SentNotificationsController3867 Unsubscribing from an epic3868 unsubscribes the user3869 sets the flash message3870 redirects to the merge request page3871API::Internal::Base3872 POST /internal/allowed3873 project alias3874 without premium license3875 project matches a project alias3876 does not allow access because project can't be found3877 with premium license3878 project matches a project alias3879 allows access3880 project doesn't match a project alias3881 does not allow access because project can't be found3882 smartcard session required3883 user with a smartcard session3884 allows access3885 user without a smartcard session3886 does not allow access3887 with the setting off3888 allows access3889 ip restriction3890 with or without check_ip parameter3891 check_ip_present: false, ip: nil, status: 2003892 modifies access3893 check_ip_present: true, ip: "150.168.0.1", status: 2003894 modifies access3895 check_ip_present: true, ip: "150.168.0.2", status: 4043896 modifies access3897 maintenance mode enabled3898 when action is git push3899 returns forbidden3900 when action is not git push3901 returns success3902 POST /internal/personal_access_token3903 with a max token lifetime on the instance3904 returns an error message when the expiry date exceeds the max token lifetime3905 returns a valid token when the expiry date does not exceed the max token lifetime3906 POST /internal/two_factor_otp_check3907 behaves like actor key validations3908 key id is not provided3909 returns an error message3910 key does not exist3911 returns an error message3912 key without user3913 returns an error message3914 when the key is a deploy key3915 returns an error message3916 when the two factor is enabled3917 when the OTP is valid3918 registers a new OTP session and returns success3919 when the OTP is invalid3920 is not success3921 when the two factor is disabled3922 returns an error message3923 feature flag is disabled3924 when two-factor is enabled for the user3925 returns user two factor config3926 licensed feature is not available3927 when two-factor is enabled for the user3928 returns user two factor config3929Creating an External Issue Link3930 when the user does not have permission3931 does not destroy external issue link3932 behaves like a mutation that returns a top-level access error3933 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"]3934 when the user has permission3935 when security_dashboard is disabled3936 behaves like a mutation that returns top-level errors3937 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"]3938 when security_dashboard is enabled3939 destroys the external issue link3940Security::DashboardController3941 GET #show3942 behaves like Security::ApplicationController3943 when the user is authenticated3944 responds with success3945 and the instance does not have an Ultimate license3946 404s3947 and the security dashboard feature is disabled3948 404s3949 when the user is not authenticated3950 redirects the user to the sign in page3951 when security dashboard feature3952 is enabled3953 is expected to render template instance_security3954 is disabled3955 is expected to respond with numeric status code not_found3956 is expected to render template errors/not_found3957group compliance frameworks3958 when compliance frameworks feature is disabled3959 GET /groups/:group/-/compliance_frameworks/new3960 returns 404 not found3961 when compliance frameworks feature is enabled3962 GET /groups/:group/-/compliance_frameworks/new3963 renders template3964 with unauthorized user3965 returns 404 not found3966JwtController3967 authenticating against container registry3968 when Group SSO is enforced3969 allows access3970Projects::MirrorsController3971 updates the mirror URL3972 complains about passing an empty URL3973Emails::Requirements3974 #import_requirements_csv_email3975 shows number of successful requirements imported3976 shows error when file is invalid3977 shows line numbers with errors3978 with header and footer3979 behaves like appearance header and footer enabled3980 contains header and footer3981 behaves like appearance header and footer not enabled3982 does not contain header and footer3983 #requirements_csv_email3984 is expected to eq "project679 | Exported requirements"3985 is expected to contain exactly "user1977@example.org"3986 is expected to have text "Your CSV export of 10 requirements from project"3987 is expected to have text "Your CSV export of 10 requirements from project"3988 when truncated3989 is expected to have text "This attachment has been truncated to avoid exceeding the maximum allowed attachment size of 15 MB."3990Security::VulnerabilitiesController3991 GET #index3992 behaves like Security::ApplicationController3993 when the user is authenticated3994 responds with success3995 and the instance does not have an Ultimate license3996 404s3997 and the security dashboard feature is disabled3998 404s3999 when the user is not authenticated4000 redirects the user to the sign in page4001 when security dashboard feature4002 is enabled4003 is expected to render template instance_security4004 is disabled4005 is expected to respond with numeric status code not_found4006 is expected to render template errors/not_found4007API::Features4008 POST /feature4009 when running on a Geo primary node4010 creates Geo cache invalidation event4011 when licensed feature name is given4012 returns bad request4013 when force=1 is set4014 allows to change state4015 DELETE /feature/:name4016 when running on a Geo primary node4017 creates Geo cache invalidation event4018Repositories::GitHttpController4019 when repository container is a group wiki4020 behaves like Repositories::GitHttpController4021 HEAD #info_refs4022 returns 4034023 GET #info_refs4024 returns 401 for unauthenticated requests to public repositories when http protocol is disabled4025 calls the right access checker class with the right object4026 with authorized user4027 returns 2004028 updates the user activity4029 adds user info to the logs4030 POST #git_upload_pack4031 returns 2004032ProfilesController4033 PUT update4034 updating name4035 when `disable_name_update_for_users` feature is available4036 when the ability to update thier name is not disabled for users4037 behaves like a user can update their name4038 updates their name4039 behaves like a user can update their name4040 updates their name4041 when the ability to update their name is disabled for users4042 as a regular user4043 does not update their name4044 as an admin in admin mode4045 behaves like a user can update their name4046 updates their name4047 when `disable_name_update_for_users` feature is not available4048 behaves like a user can update their name4049 updates their name4050 behaves like a user can update their name4051 updates their name4052Profiles::BillingsController4053 GET #index4054 renders index with 200 status code4055 fetch subscription plans data from customers.gitlab.com4056 tracks the page view for the contact_sales_btn_in_app experiment4057 records user for the contact_sales_btn_in_app experiment4058Mutations::Admin::Analytics::DevopsAdoption::Segments::Create4059 creates the segment with the group4060 behaves like DevOps Adoption top level errors4061 when the user is not an admin4062 behaves like a mutation that returns top-level errors4063 is expected to eq ["You must be an admin to use this mutation"]4064 when the feature is not available4065 behaves like a mutation that returns top-level errors4066 is expected to eq ["Feature is not available"]4067UnsubscribesController4068 show4069 responds with success4070 behaves the same if email address isn't known in the system4071 create4072 unsubscribes the connected user4073 behaves the same if email address isn't known in the system4074SearchController4075 GET #show4076 unique users tracking4077 i_search_advanced4078 behaves like tracking unique hll events4079 tracks unique event4080 i_search_paid4081 on Gitlab.com4082 behaves like tracking unique hll events4083 tracks unique event4084 self-managed instance4085 does not track if there is no license available4086 license is available4087 behaves like tracking unique hll events4088 tracks unique event4089OmniAuth Kerberos SPNEGO4090 asks for an SPNEGO token4091 when an SPNEGO token is provided4092 passes the token to spnego_negotiate!4093 when the final SPNEGO token is provided4094 redirects to the omniauth callback4095 stores the users principal name in the session4096 send the final SPNEGO response4097Groups::SeatUsageController4098 GET show4099 when authorized4100 renders show with 200 status code4101 when unauthorized4102 renders 404 when user is not an owner4103Admin::GroupsController4104 POST #reset_runner_minutes4105 when the reset is successful4106 redirects to group path4107 when the reset is not successful4108 redirects back to group edit page4109Rack Attack global throttles4110 when the request is from Geo secondary4111 allows requests over the rate limit4112Query.vulnerabilities.scanner4113 returns a vulnerability scanner4114Update Environment Canary Ingress4115 when environment is protected and allowed to be deployed by only operator4116 fails to update4117Removing an on-call schedule4118 removes the on-call schedule4119Admin::AuditLogReportsController4120 GET index4121 when user has access4122 when licensed4123 invokes CSV export service with correct arguments4124 returns success status with correct headers4125 returns a csv file in response4126 when date range params are not provided4127 passes the default date range filter to the CSV export service4128 when unlicensed4129 is expected to respond with numeric status code not_found4130 when user does not have access4131 is expected to respond with numeric status code not_found4132Profiles::KeysController4133 #create4134 logs the audit event4135Projects::PipelinesController4136 GET #licenses4137 when the project has software license policies4138 does not cause extra queries4139Oauth::ApplicationsController4140 project members4141 POST #create4142 logs the audit event4143LicenseMailer4144 #approaching_active_user_count_limit4145 when license is present4146 is expected to have subject of "Your subscription is nearing its user limit"4147 is expected to be bcc'd to ["admin@example.com", "another_admin@example.com"]4148 is expected to have body including "your subscription GitLab Enterprise Edition Starter"4149 is expected to have body including "You have 20 active users"4150 is expected to have body including "the user limit of 21"4151 when license is not present4152 does not send email4153Query.project(fullPath).vulnerabilitySeveritiesCount4154 returns counts for each severity of the project's detected or confirmed vulnerabilities4155SurveyResponsesController4156 GET #index4157 on GitLab.com4158 tracks a survey_response event4159 not on GitLab.com4160 does not track a survey_response event4161CountryStatesController4162 GET #index4163 returns a list of states as json4164 returns "null" when the provided country is not found4165Knapsack report was generated. Preview:4166{4167 "ee/spec/requests/api/vulnerabilities_spec.rb": 76.44870519638062,4168 "ee/spec/requests/api/members_spec.rb": 45.781811237335205,4169 "ee/spec/requests/api/notes_spec.rb": 31.92742419242859,4170 "ee/spec/controllers/groups/analytics/cycle_analytics/stages_controller_spec.rb": 30.72258234024048,4171 "ee/spec/requests/api/groups_spec.rb": 24.863479375839233,4172 "ee/spec/requests/api/issues_spec.rb": 21.878414630889893,4173 "ee/spec/requests/api/ldap_group_links_spec.rb": 18.751022338867188,4174 "ee/spec/requests/api/graphql/mutations/epic_tree/reorder_spec.rb": 14.408811569213867,4175 "ee/spec/requests/api/merge_request_approval_rules_spec.rb": 17.37763786315918,4176 "ee/spec/controllers/ee/groups_controller_spec.rb": 13.220862865447998,4177 "ee/spec/controllers/projects/licenses_controller_spec.rb": 15.665160179138184,4178 "ee/spec/requests/api/merge_requests_spec.rb": 13.377178430557251,4179 "ee/spec/requests/projects/merge_requests_controller_spec.rb": 14.57538652420044,4180 "ee/spec/requests/admin/credentials_controller_spec.rb": 7.806988954544067,4181 "ee/spec/requests/api/epic_links_spec.rb": 11.122249126434326,4182 "ee/spec/controllers/groups/epic_links_controller_spec.rb": 8.759982585906982,4183 "ee/spec/controllers/projects/dependencies_controller_spec.rb": 10.551980018615723,4184 "ee/spec/requests/api/graphql/group/epics_spec.rb": 9.021603345870972,4185 "ee/spec/requests/api/group_boards_spec.rb": 8.004205703735352,4186 "ee/spec/controllers/ee/projects/jobs_controller_spec.rb": 7.382935523986816,4187 "ee/spec/controllers/projects/clusters_controller_spec.rb": 6.162714004516602,4188 "ee/spec/requests/git_http_spec.rb": 5.704066514968872,4189 "ee/spec/requests/api/project_approval_rules_spec.rb": 5.035487413406372,4190 "ee/spec/requests/api/project_aliases_spec.rb": 5.248366117477417,4191 "ee/spec/controllers/registrations/groups_controller_spec.rb": 3.992283344268799,4192 "ee/spec/controllers/groups/merge_requests_controller_spec.rb": 4.595034837722778,4193 "ee/spec/controllers/groups/insights_controller_spec.rb": 4.983699083328247,4194 "ee/spec/requests/api/graphql/mutations/dast_on_demand_scans/create_spec.rb": 5.110994577407837,4195 "ee/spec/requests/api/graphql/boards/epic_board_list_epics_query_spec.rb": 3.968364953994751,4196 "ee/spec/requests/api/resource_label_events_spec.rb": 4.458254814147949,4197 "ee/spec/requests/api/graphql/mutations/issues/update_spec.rb": 3.4975337982177734,4198 "ee/spec/controllers/projects/approver_groups_controller_spec.rb": 4.265401601791382,4199 "ee/spec/requests/api/graphql/mutations/dast_site_validations/create_spec.rb": 2.792078971862793,4200 "ee/spec/requests/api/jobs_spec.rb": 2.9961726665496826,4201 "ee/spec/requests/api/graphql/mutations/boards/create_spec.rb": 1.9022221565246582,4202 "ee/spec/requests/api/graphql/epics/epic_resolver_spec.rb": 4.076817035675049,4203 "ee/spec/requests/api/graphql/mutations/dast/profiles/run_spec.rb": 3.930492401123047,4204 "ee/spec/requests/api/resource_iteration_events_spec.rb": 3.44513201713562,4205 "ee/spec/requests/api/graphql/group/epic/epic_aggregate_query_spec.rb": 3.220360279083252,4206 "ee/spec/requests/api/graphql/mutations/issues/promote_to_epic_spec.rb": 1.6210365295410156,4207 "ee/spec/requests/api/graphql/mutations/dast_site_tokens/create_spec.rb": 2.506963014602661,4208 "ee/spec/requests/api/graphql/mutations/dast_scanner_profiles/delete_spec.rb": 3.2397170066833496,4209 "ee/spec/requests/api/merge_trains_spec.rb": 2.8198764324188232,4210 "ee/spec/requests/api/graphql/group/epic/notes_spec.rb": 2.4129672050476074,4211 "ee/spec/controllers/groups/analytics/productivity_analytics_controller_spec.rb": 2.9008419513702393,4212 "ee/spec/requests/repositories/git_http_controller_spec.rb": 2.667452812194824,4213 "ee/spec/requests/api/dependencies_spec.rb": 2.137789726257324,4214 "ee/spec/requests/smartcard_controller_spec.rb": 2.7602038383483887,4215 "ee/spec/controllers/projects/audit_events_controller_spec.rb": 2.492112159729004,4216 "ee/spec/controllers/subscriptions/groups_controller_spec.rb": 2.3707046508789062,4217 "ee/spec/requests/api/graphql/namespace/projects_spec.rb": 2.5248661041259766,4218 "ee/spec/controllers/projects/deploy_keys_controller_spec.rb": 2.638400077819824,4219 "ee/spec/requests/api/graphql/mutations/iterations/update_spec.rb": 2.0666699409484863,4220 "ee/spec/controllers/projects/security/dashboard_controller_spec.rb": 2.2913894653320312,4221 "ee/spec/controllers/projects/security/api_fuzzing_configuration_controller_spec.rb": 2.2863693237304688,4222 "ee/spec/requests/api/ci/runner_spec.rb": 1.5548479557037354,4223 "ee/spec/requests/api/graphql/iteration_spec.rb": 2.000091791152954,4224 "ee/spec/requests/api/graphql/mutations/dast_site_validations/revoke_spec.rb": 3.0039310455322266,4225 "ee/spec/requests/projects/requirements_management/requirements_controller_spec.rb": 2.1586649417877197,4226 "ee/spec/requests/api/graphql/mutations/clusters/agents/create_spec.rb": 1.7574071884155273,4227 "ee/spec/requests/api/graphql/project/requirements_management/test_reports_spec.rb": 2.0756561756134033,4228 "ee/spec/requests/api/internal/kubernetes_spec.rb": 1.628791093826294,4229 "ee/spec/requests/api/group_clusters_spec.rb": 1.495497226715088,4230 "ee/spec/requests/projects/security/dast_profiles_controller_spec.rb": 2.1145026683807373,4231 "ee/spec/requests/projects/audit_events_spec.rb": 1.966073751449585,4232 "ee/spec/requests/api/graphql/mutations/alert_management/http_integration/create_spec.rb": 1.9248499870300293,4233 "ee/spec/controllers/projects/analytics/merge_request_analytics_controller_spec.rb": 1.7445907592773438,4234 "ee/spec/requests/api/graphql/mutations/vulnerabilities/create_external_issue_link_spec.rb": 1.6125767230987549,4235 "ee/spec/requests/api/graphql/project/pipeline/security_report_finding_spec.rb": 1.8370890617370605,4236 "ee/spec/controllers/groups/roadmap_controller_spec.rb": 1.568028211593628,4237 "ee/spec/requests/api/repositories_spec.rb": 1.4474718570709229,4238 "ee/spec/requests/api/graphql/project/cluster_agents_spec.rb": 1.62583327293396,4239 "ee/spec/requests/api/graphql/project/dast_scanner_profiles_spec.rb": 1.0533359050750732,4240 "ee/spec/requests/api/license_spec.rb": 1.2717399597167969,4241 "ee/spec/requests/projects/security/scanned_resources_controller_spec.rb": 1.4429221153259277,4242 "ee/spec/controllers/groups/analytics/cycle_analytics_controller_spec.rb": 1.4171972274780273,4243 "ee/spec/controllers/subscriptions_controller_spec.rb": 1.3214211463928223,4244 "ee/spec/controllers/projects/incident_management/oncall_schedules_controller_spec.rb": 1.0843324661254883,4245 "ee/spec/requests/api/graphql/vulnerabilities/issue_links_spec.rb": 1.148353099822998,4246 "ee/spec/requests/api/iterations_spec.rb": 1.0354220867156982,4247 "ee/spec/mailers/ci_minutes_usage_mailer_spec.rb": 1.0640318393707275,4248 "ee/spec/requests/api/analytics/group_activity_analytics_spec.rb": 1.2108242511749268,4249 "ee/spec/requests/api/graphql/mutations/compliance_management/frameworks/create_spec.rb": 1.1780717372894287,4250 "ee/spec/controllers/groups/analytics/merge_request_analytics_controller_spec.rb": 0.995469331741333,4251 "ee/spec/requests/api/graphql/mutations/requirements_management/create_requirement_spec.rb": 1.0673556327819824,4252 "ee/spec/requests/api/graphql/mutations/notes/create/note_spec.rb": 0.8782317638397217,4253 "ee/spec/controllers/groups/security/dashboard_controller_spec.rb": 0.9304900169372559,4254 "ee/spec/requests/api/graphql/mutations/compliance_management/frameworks/update_spec.rb": 0.8139481544494629,4255 "ee/spec/requests/api/graphql/mutations/boards/lists/create_spec.rb": 0.8690855503082275,4256 "ee/spec/requests/api/graphql/project/alert_management/integrations_spec.rb": 0.7405204772949219,4257 "ee/spec/requests/api/graphql/project/alert_management/http_integrations_spec.rb": 0.9167370796203613,4258 "ee/spec/requests/api/graphql/query_spec.rb": 0.6634938716888428,4259 "ee/spec/controllers/boards/users_controller_spec.rb": 0.7542247772216797,4260 "ee/spec/requests/api/graphql/projects/compliance_frameworks_spec.rb": 0.796234130859375,4261 "ee/spec/requests/api/graphql/mutations/boards/update_epic_user_preferences_spec.rb": 0.7715954780578613,4262 "ee/spec/controllers/admin/elasticsearch_controller_spec.rb": 0.6923301219940186,4263 "ee/spec/controllers/registrations/welcome_controller_spec.rb": 0.7263035774230957,4264 "ee/spec/controllers/ee/sent_notifications_controller_spec.rb": 0.6379542350769043,4265 "ee/spec/requests/api/internal/base_spec.rb": 2.3965675830841064,4266 "ee/spec/requests/api/graphql/mutations/vulnerabilities/destroy_external_issue_link_spec.rb": 0.5314290523529053,4267 "ee/spec/controllers/security/dashboard_controller_spec.rb": 0.4371802806854248,4268 "ee/spec/requests/groups/compliance_frameworks_spec.rb": 0.6456155776977539,4269 "ee/spec/requests/jwt_controller_spec.rb": 0.4647965431213379,4270 "ee/spec/requests/projects/mirrors_controller_spec.rb": 0.5566091537475586,4271 "ee/spec/mailers/emails/requirements_spec.rb": 0.510871410369873,4272 "ee/spec/controllers/security/vulnerabilities_controller_spec.rb": 0.44113659858703613,4273 "ee/spec/requests/api/features_spec.rb": 0.39618515968322754,4274 "ee/spec/controllers/repositories/git_http_controller_spec.rb": 0.5063464641571045,4275 "ee/spec/controllers/profiles_controller_spec.rb": 0.4837064743041992,4276 "ee/spec/controllers/profiles/billings_controller_spec.rb": 0.29872560501098633,4277 "ee/spec/requests/api/graphql/mutations/admin/analytics/devops_adoption/segments/create_spec.rb": 0.3465993404388428,4278 "ee/spec/controllers/unsubscribes_controller_spec.rb": 0.3218057155609131,4279 "ee/spec/controllers/ee/search_controller_spec.rb": 0.5797529220581055,4280 "ee/spec/requests/omniauth_kerberos_spnego_spec.rb": 0.3537251949310303,4281 "ee/spec/controllers/groups/seat_usage_controller_spec.rb": 0.33051228523254395,4282 "ee/spec/controllers/admin/groups_controller_spec.rb": 0.27443742752075195,4283 "ee/spec/requests/rack_attack_global_spec.rb": 0.30501556396484375,4284 "ee/spec/requests/api/graphql/vulnerabilities/scanner_spec.rb": 0.21829438209533691,4285 "ee/spec/requests/api/graphql/mutations/environments/canary_ingress/update_spec.rb": 0.19417953491210938,4286 "ee/spec/requests/api/graphql/mutations/incident_management/oncall_schedule/destroy_spec.rb": 0.18597126007080078,4287 "ee/spec/controllers/admin/audit_log_reports_controller_spec.rb": 0.14986586570739746,4288 "ee/spec/controllers/profiles/keys_controller_spec.rb": 0.1330258846282959,4289 "ee/spec/requests/projects/pipelines_controller_spec.rb": 0.1611623764038086,4290 "ee/spec/controllers/oauth/applications_controller_spec.rb": 0.1518704891204834,4291 "ee/spec/mailers/license_mailer_spec.rb": 0.14478087425231934,4292 "ee/spec/requests/api/graphql/project/vulnerability_severities_count_spec.rb": 0.10590529441833496,4293 "ee/spec/controllers/survey_responses_controller_spec.rb": 0.0754079818725586,4294 "ee/spec/controllers/country_states_controller_spec.rb": 0.038899660110473634295}4296Knapsack global time execution for tests: 09m 49s4297Finished in 12 minutes 23 seconds (files took 1 minute 0.83 seconds to load)42981691 examples, 0 failures4299Wed 03 Mar 2021 12:16:24 PM UTC4301Not uploading cache rails-v4-3 due to policy4303Uploading artifacts...4304coverage/: found 5 matching files and directories 4305WARNING: crystalball/: no matching files 4306deprecations/: found 22 matching files and directories 4307knapsack/: found 3 matching files and directories 4308rspec_flaky/: found 4 matching files and directories 4309rspec_profiling/: found 1 matching files and directories 4310WARNING: tmp/capybara/: no matching files 4311tmp/memory_test/: found 2 matching files and directories 4312tmp/feature_flags/: found 254 matching files and directories 4313log/*.log: found 16 matching files and directories 4314Uploading artifacts as "archive" to coordinator... ok id=1069712388 responseStatus=201 Created token=NNHYuUGh4315Uploading artifacts...4316junit_rspec.xml: found 1 matching files and directories 4317Uploading artifacts as "junit" to coordinator... ok id=1069712388 responseStatus=201 Created token=NNHYuUGh4319Job succeeded