rspec-ee integration pg12 3/4
Passed Started
by
@mikolaj_wawrzyniak

Mikołaj Wawrzyniak
1Running with gitlab-runner 14.1.0-rc1 (e9489c8a)2 on docker-auto-scale-com 9538b0ab3 feature flags: FF_USE_FASTZIP:true6Using Docker executor with image registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.7.2.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 ...7Starting service postgres:12 ...8Pulling docker image postgres:12 ...9Using docker image sha256:14566088fc000f09db0a67b267f7de82a1a1a0d45d6a0a023ab580b084be62a8 for postgres:12 with digest postgres@sha256:1cb8f7fc2e6745ef577640de1c9fde04ff9498a7e0d067f1b8e6890ad4ba5073 ...10Starting service redis:5.0-alpine ...11Pulling docker image redis:5.0-alpine ...12Using docker image sha256:add8cf2f542a4bb4070fad4dd7bb73933a804a0ff57dd611f7be76ffeb4a8ae2 for redis:5.0-alpine with digest redis@sha256:5dbc2c85e636c0aea692972a2eac934ba4f04e9bb6578bc47aa35d28482b2f60 ...13Starting service elasticsearch:7.11.1 ...14Pulling docker image elasticsearch:7.11.1 ...15Using docker image sha256:bc3d45eba361de2bde57b25ada32b4de5dd5f5cb12cd3bd049212e90bdfd62a9 for elasticsearch:7.11.1 with digest elasticsearch@sha256:3a219f148b596e25c1b16bda46e1ca07db46826c0e1cde003c2d2f93f33d18e4 ...16Waiting for services to be up and running...17Authenticating with credentials from job payload (GitLab Registry)18Pulling docker image registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.7.2.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 ...19Using docker image sha256:f3af4045688c7d321821552b2274c91037e2b5727ac63ee5f72ad30f5962c48e for registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.7.2.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 with digest registry.gitlab.com/gitlab-org/gitlab-build-images@sha256:72fa33b8058851ded8b72376ab249c48f98d1a176ad4bc8d517ca4ab62f0f7a0 ...21Running on runner-9538b0ab-project-278964-concurrent-0 via runner-9538b0ab-gsrm-1629282416-710a62aa...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 19% |****** | 69.0M 0:00:04 ETA28gitlab.tar.gz 97% |******************************* | 339M 0:00:00 ETA29gitlab.tar.gz 100% |********************************| 347M 0:00:00 ETA30'/tmp/gitlab.tar.gz' saved31Extracting tarball into /builds/gitlab-org/gitlab...32Fetching changes with git depth set to 20...33Reinitialized existing Git repository in /builds/gitlab-org/gitlab/.git/34Created fresh repository.35remote: Enumerating objects: 193, done. 36remote: Counting objects: 100% (141/141), done. 37remote: Compressing objects: 100% (55/55), done. 38remote: Total 91 (delta 78), reused 47 (delta 36), pack-reused 0 40 * [new ref] 87ccd58290a6f21a5fb92623e3970840943714e8 -> refs/pipelines/35508967241 * [new branch] master -> origin/master42Checking out 87ccd582 as master...43Skipping Git submodules setup45Checking cache for ruby-gems-v1-4...46Downloading cache.zip from https://storage.googleapis.com/gitlab-com-runners-cache/project/278964/ruby-gems-v1-4 47Successfully extracted cache48Checking cache for gitaly-ruby-gems-v1-4...49Downloading cache.zip from https://storage.googleapis.com/gitlab-com-runners-cache/project/278964/gitaly-ruby-gems-v1-4 50Successfully extracted cache52Downloading artifacts for compile-test-assets (1512821856)...53Downloading artifacts from coordinator... ok id=1512821856 responseStatus=200 OK token=yv2CxeL354Downloading artifacts for retrieve-tests-metadata (1512821865)...55Downloading artifacts from coordinator... ok id=1512821865 responseStatus=200 OK token=UxJ4xnY956Downloading artifacts for setup-test-env (1512821862)...57Downloading artifacts from coordinator... ok id=1512821862 responseStatus=200 OK token=r5iGa7Zz59Using docker image sha256:f3af4045688c7d321821552b2274c91037e2b5727ac63ee5f72ad30f5962c48e for registry.gitlab.com/gitlab-org/gitlab-build-images:ruby-2.7.2.patched-golang-1.16-git-2.31-lfs-2.9-chrome-89-node-14.15-yarn-1.22-postgresql-12-graphicsmagick-1.3.36 with digest registry.gitlab.com/gitlab-org/gitlab-build-images@sha256:72fa33b8058851ded8b72376ab249c48f98d1a176ad4bc8d517ca4ab62f0f7a0 ...60$ [ "$FOSS_ONLY" = "1" ] && rm -rf ee/ qa/spec/ee/ qa/qa/specs/features/ee/ qa/qa/ee/ qa/qa/ee.rb61$ export GOPATH=$CI_PROJECT_DIR/.go62$ mkdir -p $GOPATH63$ source scripts/utils.sh64$ source scripts/prepare_build.sh65Bundler version 2.1.466production:development67Settings are listed in order of priority. The top value will be used.68path69Set for the current user (/root/.bundle/config): "vendor"70clean71Set for the current user (/root/.bundle/config): "true"72without73Set via BUNDLE_WITHOUT: [:production, :development]74install_flags75Set via BUNDLE_INSTALL_FLAGS: "--jobs=$(nproc) --retry=3 --quiet"76$ bundle install --jobs=$(nproc) --retry=3 --quiet && bundle check77The Gemfile's dependencies are satisfied78==> 'bundle install --jobs=$(nproc) --retry=3 --quiet && bundle check' succeeded in 2 seconds.79$ bundle pristine pg80Installing pg 1.2.3 with native extensions81==> 'bundle pristine pg' succeeded in 10 seconds.82$ setup_db_user_only83CREATE ROLE84GRANT85==> 'setup_db_user_only' succeeded in 0 seconds.86$ bundle exec rake db:drop db:create db:structure:load db:migrate gitlab:db:setup_ee87Dropped database 'gitlabhq_test'88Created database 'gitlabhq_test'89DEPRECATION WARNING: Using `bin/rails db:structure:load` is deprecated and will be removed in Rails 6.2. Configure the format using `config.active_record.schema_format = :sql` to use `structure.sql` and run `bin/rails db:schema:load` instead. (called from load at /builds/gitlab-org/gitlab/vendor/ruby/2.7.0/bin/rake:23)90Dropped database 'gitlabhq_geo_test'91Created database 'gitlabhq_geo_test'92==> 'bundle exec rake db:drop db:create db:structure:load db:migrate gitlab:db:setup_ee' succeeded in 30 seconds.93$ run_timed_command "gem install knapsack --no-document"94$ gem install knapsack --no-document95Successfully installed knapsack-4.0.0961 gem installed97==> 'gem install knapsack --no-document' succeeded in 1 seconds.98$ run_timed_command "scripts/gitaly-test-spawn"99$ scripts/gitaly-test-spawn100Settings are listed in order of priority. The top value will be used.101jobs102Set for your local app (/builds/gitlab-org/gitlab/tmp/tests/gitaly/ruby/.bundle/config): 4103retry104Set for your local app (/builds/gitlab-org/gitlab/tmp/tests/gitaly/ruby/.bundle/config): 3105path106Set for your local app (/builds/gitlab-org/gitlab/tmp/tests/gitaly/ruby/.bundle/config): "/builds/gitlab-org/gitlab/vendor/gitaly-ruby"107deployment108Set for your local app (/builds/gitlab-org/gitlab/tmp/tests/gitaly/ruby/.bundle/config): true109without110Set for your local app (/builds/gitlab-org/gitlab/tmp/tests/gitaly/ruby/.bundle/config): [:production, :development]111Set via BUNDLE_WITHOUT: [:production, :development]112app_config113Set via BUNDLE_APP_CONFIG: "/builds/gitlab-org/gitlab/tmp/tests/gitaly/ruby/.bundle"114gemfile115Set via BUNDLE_GEMFILE: "/builds/gitlab-org/gitlab/tmp/tests/gitaly/ruby/Gemfile"116Don't run Bundler as root. Bundler can ask for sudo if it is needed, and117installing your bundle as root will break this application for all non-root118users on this machine.119Using abstract_type 0.0.7120Using concurrent-ruby 1.1.9121Using i18n 1.8.10122Using minitest 5.14.4123Using tzinfo 2.0.4124Using zeitwerk 2.4.2125Using activesupport 6.1.3.2126Using builder 3.2.4127Using erubi 1.10.0128Using mini_portile2 2.5.1129Using racc 1.5.2130Using nokogiri 1.11.5 (x86_64-linux)131Using rails-dom-testing 2.0.3132Using crass 1.0.6133Using loofah 2.10.0134Using rails-html-sanitizer 1.3.0135Using actionview 6.1.3.2136Using rack 2.2.3137Using rack-test 1.1.0138Using actionpack 6.1.3.2139Using ice_nine 0.11.2140Using thread_safe 0.3.6141Using memoizable 0.4.2142Using adamantium 0.2.0143Using public_suffix 4.0.6144Using addressable 2.7.0145Using ast 2.4.1146Using binding_ninja 0.2.3147Using bundler 2.1.4148Using charlock_holmes 0.7.7149Using coderay 1.1.2150Using equalizer 0.0.11151Using concord 0.1.5152Using diff-lcs 1.3153Using dotenv 2.7.6154Using escape_utils 1.2.1155Using factory_bot 5.0.2156Using multipart-post 2.1.1157Using faraday 1.0.1158Using ffi 1.15.3159Using json 2.5.1160Using gemojione 3.3.0161Using mini_mime 1.0.2162Using rugged 1.1.0163Using github-linguist 7.12.1164Using github-markup 1.7.0165Using mime-types-data 3.2020.1104166Using mime-types 3.3.1167Using gitlab-gollum-rugged_adapter 0.4.4.4.gitlab.1168Using rouge 3.26.0169Using nokogumbo 1.5.0170Using sanitize 4.6.6171Using stringex 2.8.5172Using gitlab-gollum-lib 4.2.7.10.gitlab.1173Using google-protobuf 3.17.3 (x86_64-linux)174Using googleapis-common-protos-types 1.1.0175Using grpc 1.38.0 (x86_64-linux)176Using opentracing 0.5.0177Using thrift 0.14.1178Using jaeger-client 1.1.0179Using pg_query 2.1.0180Using redis 4.2.5181Using gitlab-labkit 0.20.0182Using gitlab-markup 1.7.1183Using grpc-tools 1.38.0184Using sawyer 0.8.2185Using octokit 4.20.0186Using reverse_markdown 1.4.0187Using thor 1.1.0188Using licensee 9.14.1189Using method_source 0.9.2190Using msgpack 1.3.3191Using optimist 3.0.1192Using parallel 1.19.2193Using parser 2.7.2.0194Using procto 0.0.3195Using unparser 0.4.7196Using proc_to_ast 0.1.0197Using pry 0.12.2198Using rainbow 3.0.0199Using rbtrace 0.4.14200Using rdoc 6.3.2201Using regexp_parser 1.8.1202Using rexml 3.2.4203Using rspec-support 3.8.0204Using rspec-core 3.8.0205Using rspec-expectations 3.8.3206Using rspec-mocks 3.8.0207Using rspec 3.8.0208Using rspec-parameterized 0.4.2209Using rubocop-ast 0.2.0210Using ruby-progressbar 1.10.1211Using unicode-display_width 1.7.0212Using rubocop 0.86.0213Using sentry-raven 3.0.4214Using timecop 0.9.1215Bundle complete! 21 Gemfile dependencies, 96 gems now installed.216Gems in the groups production and development were not installed.217Bundled gems are installed into `/builds/gitlab-org/gitlab/vendor/gitaly-ruby`218Checking gitaly-ruby Gemfile...219Checking gitaly-ruby bundle...220The Gemfile's dependencies are satisfied221Trying to connect to gitaly: ....... OK222Trying to connect to gitaly2: ............. OK223Trying to connect to praefect: ..... OK224$ source ./scripts/rspec_helpers.sh225==> 'scripts/gitaly-test-spawn' succeeded in 4 seconds.226$ rspec_paralellized_job "--tag ~quarantine --tag ~geo --tag ~level:migration"227KNAPSACK_TEST_FILE_PATTERN: ee/spec/{controllers,mailers,requests}{,/**/}*_spec.rb228Knapsack node specs:229ee/spec/controllers/projects/merge_requests_controller_spec.rb230ee/spec/requests/api/projects_spec.rb231ee/spec/requests/api/members_spec.rb232ee/spec/requests/api/epics_spec.rb233ee/spec/requests/api/issues_spec.rb234ee/spec/requests/api/groups_spec.rb235ee/spec/controllers/registrations/projects_controller_spec.rb236ee/spec/requests/api/wikis_spec.rb237ee/spec/controllers/boards/lists_controller_spec.rb238ee/spec/controllers/projects/licenses_controller_spec.rb239ee/spec/controllers/projects/vulnerability_feedback_controller_spec.rb240ee/spec/requests/api/merge_request_approval_rules_spec.rb241ee/spec/requests/api/merge_request_approvals_spec.rb242ee/spec/controllers/groups/clusters_controller_spec.rb243ee/spec/requests/api/merge_requests_spec.rb244ee/spec/requests/api/geo_spec.rb245ee/spec/requests/api/epic_links_spec.rb246ee/spec/controllers/groups/epic_issues_controller_spec.rb247ee/spec/requests/api/project_approval_rules_spec.rb248ee/spec/requests/groups/security/credentials_controller_spec.rb249ee/spec/requests/api/graphql/group_query_spec.rb250ee/spec/requests/projects/merge_requests_controller_spec.rb251ee/spec/requests/api/managed_licenses_spec.rb252ee/spec/controllers/groups/contribution_analytics_controller_spec.rb253ee/spec/controllers/groups/epics/notes_controller_spec.rb254ee/spec/requests/api/project_approvals_spec.rb255ee/spec/requests/api/group_repository_storage_moves_spec.rb256ee/spec/controllers/groups/analytics/tasks_by_type_controller_spec.rb257ee/spec/controllers/registrations/groups_controller_spec.rb258ee/spec/controllers/projects/protected_environments_controller_spec.rb259ee/spec/requests/api/commits_spec.rb260ee/spec/controllers/autocomplete_controller_spec.rb261ee/spec/controllers/admin/clusters_controller_spec.rb262ee/spec/controllers/projects/approvers_controller_spec.rb263ee/spec/requests/api/graphql/epics/epic_resolver_spec.rb264ee/spec/requests/api/graphql/mutations/dast_site_profiles/update_spec.rb265ee/spec/requests/api/group_variables_spec.rb266ee/spec/requests/api/deployments_spec.rb267ee/spec/requests/api/graphql/mutations/epics/update_spec.rb268ee/spec/requests/api/graphql/project/incident_management/escalation_policies_spec.rb269ee/spec/requests/user_activity_spec.rb270ee/spec/controllers/admin/geo/uploads_controller_spec.rb271ee/spec/controllers/projects/path_locks_controller_spec.rb272ee/spec/requests/api/merge_trains_spec.rb273ee/spec/controllers/ee/projects/variables_controller_spec.rb274ee/spec/requests/api/graphql/boards/epic_board_list_epics_query_spec.rb275ee/spec/controllers/groups/dependency_proxy_for_containers_controller_spec.rb276ee/spec/requests/api/todos_spec.rb277ee/spec/requests/api/internal/app_sec/dast/site_validations_spec.rb278ee/spec/controllers/groups/scim_oauth_controller_spec.rb279ee/spec/requests/api/project_clusters_spec.rb280ee/spec/mailers/emails/requirements_spec.rb281ee/spec/controllers/groups/iterations_controller_spec.rb282ee/spec/requests/api/graphql/projects/compliance_frameworks_spec.rb283ee/spec/requests/api/graphql/project/dast_site_profile_spec.rb284ee/spec/controllers/projects/requirements_management/requirements_controller_spec.rb285ee/spec/requests/api/ci/variables_spec.rb286ee/spec/requests/api/graphql/mutations/boards/create_spec.rb287ee/spec/requests/api/graphql/mutations/compliance_management/frameworks/create_spec.rb288ee/spec/controllers/projects/security/vulnerability_report_controller_spec.rb289ee/spec/requests/api/graphql/mutations/dast_scanner_profiles/create_spec.rb290ee/spec/requests/api/graphql/mutations/issues/set_weight_spec.rb291ee/spec/requests/api/graphql/group/epic/notes_spec.rb292ee/spec/requests/api/group_milestones_spec.rb293ee/spec/requests/api/graphql/instance_security_dashboard_spec.rb294ee/spec/controllers/ee/root_controller_spec.rb295ee/spec/controllers/groups/analytics/cycle_analytics_controller_spec.rb296ee/spec/requests/api/graphql/mutations/epics/add_issue_spec.rb297ee/spec/controllers/projects/settings/integrations_controller_spec.rb298ee/spec/requests/api/graphql/mutations/boards/issues/issue_move_list_spec.rb299ee/spec/requests/api/graphql/project/alert_management/payload_fields_spec.rb300ee/spec/requests/api/graphql/vulnerabilities/issue_links_spec.rb301ee/spec/controllers/profiles_controller_spec.rb302ee/spec/requests/api/invitations_spec.rb303ee/spec/requests/api/experiments_spec.rb304ee/spec/controllers/projects/incident_management/oncall_schedules_controller_spec.rb305ee/spec/requests/projects/security/corpus_management_controller_spec.rb306ee/spec/requests/api/graphql/mutations/boards/lists/update_limit_metrics_spec.rb307ee/spec/requests/api/graphql/geo/geo_node_spec.rb308ee/spec/controllers/sitemap_controller_spec.rb309ee/spec/requests/projects/cluster_agents_controller_spec.rb310ee/spec/requests/api/graphql/mutations/boards/epic_boards/destroy_spec.rb311ee/spec/requests/api/graphql/project/compliance_frameworks_spec.rb312ee/spec/requests/api/graphql/merge_request_reviewer_spec.rb313ee/spec/controllers/groups/analytics/coverage_reports_controller_spec.rb314ee/spec/requests/groups/clusters_controller_spec.rb315ee/spec/controllers/groups/analytics/ci_cd_analytics_controller_spec.rb316ee/spec/controllers/projects/analytics/cycle_analytics/summary_controller_spec.rb317ee/spec/requests/admin/user_permission_exports_controller_spec.rb318ee/spec/controllers/groups/todos_controller_spec.rb319ee/spec/controllers/ee/profiles/preferences_controller_spec.rb320ee/spec/requests/api/graphql/mutations/iterations/delete_spec.rb321ee/spec/requests/api/graphql/mutations/compliance_management/frameworks/destroy_spec.rb322ee/spec/controllers/projects/settings/slacks_controller_spec.rb323ee/spec/requests/api/graphql/mutations/boards/epic_lists/create_spec.rb324ee/spec/requests/api/project_milestones_spec.rb325ee/spec/requests/api/graphql/project/incident_management/escalation_policy/rules_spec.rb326ee/spec/requests/api/graphql/mutations/incident_management/oncall_rotation/update_spec.rb327ee/spec/requests/api/graphql/mutations/clusters/agents/delete_spec.rb328ee/spec/requests/api/graphql/mutations/incident_management/oncall_schedule/create_spec.rb329ee/spec/requests/admin/geo/nodes_controller_spec.rb330ee/spec/controllers/projects/settings/repository_controller_spec.rb331ee/spec/controllers/admin/push_rules_controller_spec.rb332ee/spec/requests/api/issue_links_spec.rb333ee/spec/requests/api/ci/runner/jobs_put_spec.rb334ee/spec/requests/omniauth_kerberos_spnego_spec.rb335ee/spec/controllers/concerns/boards_responses_spec.rb336ee/spec/controllers/ee/profiles/personal_access_tokens_controller_spec.rb337ee/spec/requests/api/features_spec.rb338ee/spec/requests/api/branches_spec.rb339ee/spec/controllers/ee/admin/sessions_controller_spec.rb340ee/spec/controllers/ee/groups/variables_controller_spec.rb341ee/spec/controllers/groups/usage_quotas_controller_spec.rb342ee/spec/requests/api/graphql/app_sec/fuzzing/api/ci_configuration_type_spec.rb343ee/spec/requests/api/graphql/mutations/incident_management/escalation_policy/destroy_spec.rb344ee/spec/requests/api/project_snapshots_spec.rb345ee/spec/requests/api/graphql/analytics/devops_adoption/enabled_namespaces_spec.rb346ee/spec/controllers/admin/applications_controller_spec.rb347ee/spec/mailers/emails/epics_spec.rb348Filter specs:349Running specs:350Running all node tests without filter351ee/spec/controllers/projects/merge_requests_controller_spec.rb352ee/spec/requests/api/projects_spec.rb353ee/spec/requests/api/members_spec.rb354ee/spec/requests/api/epics_spec.rb355ee/spec/requests/api/issues_spec.rb356ee/spec/requests/api/groups_spec.rb357ee/spec/controllers/registrations/projects_controller_spec.rb358ee/spec/requests/api/wikis_spec.rb359ee/spec/controllers/boards/lists_controller_spec.rb360ee/spec/controllers/projects/licenses_controller_spec.rb361ee/spec/controllers/projects/vulnerability_feedback_controller_spec.rb362ee/spec/requests/api/merge_request_approval_rules_spec.rb363ee/spec/requests/api/merge_request_approvals_spec.rb364ee/spec/controllers/groups/clusters_controller_spec.rb365ee/spec/requests/api/merge_requests_spec.rb366ee/spec/requests/api/geo_spec.rb367ee/spec/requests/api/epic_links_spec.rb368ee/spec/controllers/groups/epic_issues_controller_spec.rb369ee/spec/requests/api/project_approval_rules_spec.rb370ee/spec/requests/groups/security/credentials_controller_spec.rb371ee/spec/requests/api/graphql/group_query_spec.rb372ee/spec/requests/projects/merge_requests_controller_spec.rbKnapsack report generator started!373Run options: exclude {:quarantine=>true, :geo=>true, :level=>"migration"}374==> /builds/gitlab-org/gitlab/tmp/tests/gitlab-test_bare set up in 0.053309341 seconds...375Test environment set up in 0.660418355 seconds376Projects::MergeRequestsController377 PUT update378 when the merge request requires approval379 behaves like update invalid issuable380 when updating causes conflicts381 renders edit when format is html382 renders json error message when format is json383 when updating an invalid issuable384 renders edit when merge request is invalid385 overriding approvers per MR386 enabled387 updates approvals388 does not allow approvels before merge lower than the project setting389 creates rules390 disabled391 does not update approvals_before_merge392 does not update approver_ids393 does not update approver_group_ids394 does not create approval rules395 when the MR targets the project396 behaves like approvals_before_merge param397 approvals_before_merge not set for the existing MR398 when it is less than the one in the target project399 sets the param to the sames as the project400 updates the merge request401 when it is equal to the one in the target project402 sets the param to the same as the project403 updates the merge request404 when it is greater than the one in the target project405 saves the param in the merge request406 updates the merge request407 approvals_before_merge set for the existing MR408 when it is not set409 does not change the merge request410 updates the merge request411 when it is less than the one in the target project412 sets the param to the same as the target project413 updates the merge request414 when it is equal to the one in the target project415 sets the param to the same as the target project416 updates the merge request417 when it is greater than the one in the target project418 saves the param in the merge request419 updates the merge request420 when the project is a fork421 when the MR target upstream422 behaves like approvals_before_merge param423 approvals_before_merge not set for the existing MR424 when it is less than the one in the target project425 sets the param to the sames as the project426 updates the merge request427 when it is equal to the one in the target project428 sets the param to the same as the project429 updates the merge request430 when it is greater than the one in the target project431 saves the param in the merge request432 updates the merge request433 approvals_before_merge set for the existing MR434 when it is not set435 does not change the merge request436 updates the merge request437 when it is less than the one in the target project438 sets the param to the same as the target project439 updates the merge request440 when it is equal to the one in the target project441 sets the param to the same as the target project442 updates the merge request443 when it is greater than the one in the target project444 saves the param in the merge request445 updates the merge request446 when the MR target the fork447 behaves like approvals_before_merge param448 approvals_before_merge not set for the existing MR449 when it is less than the one in the target project450 sets the param to the sames as the project451 updates the merge request452 when it is equal to the one in the target project453 sets the param to the same as the project454 updates the merge request455 when it is greater than the one in the target project456 saves the param in the merge request457 updates the merge request458 approvals_before_merge set for the existing MR459 when it is not set460 does not change the merge request461 updates the merge request462 when it is less than the one in the target project463 sets the param to the same as the target project464 updates the merge request465 when it is equal to the one in the target project466 sets the param to the same as the target project467 updates the merge request468 when it is greater than the one in the target project469 saves the param in the merge request470 updates the merge request471 POST #rebase472 approvals pending473 returns 200474 GET #dependency_scanning_reports475 behaves like pending pipeline response476 when pipeline is pending477 sends polling interval478 returns 204 HTTP status479 when comparison is being processed480 sends polling interval481 returns 204 HTTP status482 when comparison is done483 does not send polling interval484 returns 200 HTTP status485 when user created corrupted vulnerability reports486 does not send polling interval487 returns 400 HTTP status488 behaves like authorize read pipeline489 public project with private builds490 restricts access to signed out users491 restricts access to other users492 GET #container_scanning_reports493 behaves like pending pipeline response494 when pipeline is pending495 sends polling interval496 returns 204 HTTP status497 when comparison is being processed498 sends polling interval499 returns 204 HTTP status500 when comparison is done501 does not send polling interval502 returns 200 HTTP status503 when user created corrupted vulnerability reports504 does not send polling interval505 returns 400 HTTP status506 behaves like authorize read pipeline507 public project with private builds508 restricts access to signed out users509 restricts access to other users510 GET #sast_reports511 behaves like pending pipeline response512 when pipeline is pending513 sends polling interval514 returns 204 HTTP status515 when comparison is being processed516 sends polling interval517 returns 204 HTTP status518 when comparison is done519 does not send polling interval520 returns 200 HTTP status521 when user created corrupted vulnerability reports522 does not send polling interval523 returns 400 HTTP status524 behaves like authorize read pipeline525 public project with private builds526 restricts access to signed out users527 restricts access to other users528 GET #coverage_fuzzing_reports529 behaves like pending pipeline response530 when pipeline is pending531 sends polling interval532 returns 204 HTTP status533 when comparison is being processed534 sends polling interval535 returns 204 HTTP status536 when comparison is done537 does not send polling interval538 returns 200 HTTP status539 when user created corrupted vulnerability reports540 does not send polling interval541 returns 400 HTTP status542 behaves like authorize read pipeline543 public project with private builds544 restricts access to signed out users545 restricts access to other users546 GET #api_fuzzing_reports547 behaves like pending pipeline response548 when pipeline is pending549 sends polling interval550 returns 204 HTTP status551 when comparison is being processed552 sends polling interval553 returns 204 HTTP status554 when comparison is done555 does not send polling interval556 returns 200 HTTP status557 when user created corrupted fuzzing reports558 does not send polling interval559 returns 400 HTTP status560 behaves like authorize read pipeline561 public project with private builds562 restricts access to signed out users563 restricts access to other users564 GET #secret_detection_reports565 behaves like pending pipeline response566 when pipeline is pending567 sends polling interval568 returns 204 HTTP status569 when comparison is being processed570 sends polling interval571 returns 204 HTTP status572 when comparison is done573 does not send polling interval574 returns 200 HTTP status575 when user created corrupted vulnerability reports576 does not send polling interval577 returns 400 HTTP status578 behaves like authorize read pipeline579 public project with private builds580 restricts access to signed out users581 restricts access to other users582 GET #dast_reports583 behaves like pending pipeline response584 when pipeline is pending585 sends polling interval586 returns 204 HTTP status587 when comparison is being processed588 sends polling interval589 returns 204 HTTP status590 when comparison is done591 does not send polling interval592 returns 200 HTTP status593 when user created corrupted vulnerability reports594 does not send polling interval595 returns 400 HTTP status596 behaves like authorize read pipeline597 public project with private builds598 restricts access to signed out users599 restricts access to other users600 GET #license_scanning_reports601 when the pipeline is running602 when the report is being parsed603 is expected to have received set_header(*(any args)) 1 time604 is expected to respond with numeric status code no_content605 when the report is ready606 is expected not to have received set_header(*(any args)) 0 times607 is expected to respond with numeric status code ok608 is expected to eq {"existing_licenses"=>[], "new_licenses"=>[], "removed_licenses"=>[]}609 when comparison is being processed610 sends polling interval611 returns 204 HTTP status612 when comparison is done613 does not send polling interval614 returns 200 HTTP status615 when user created corrupted test reports616 does not send polling interval617 returns 400 HTTP status618 when a user is NOT authorized to read licenses on a project619 returns a report620 when a user is authorized to read the licenses621 returns a report622 when a maintainer is authorized to read licenses on a merge request from a forked project623 returns a report624 GET #metrics_reports625 when comparison is being processed626 sends polling interval627 returns 204 HTTP status628 when comparison is done629 does not send polling interval630 returns 200 HTTP status631 when user created corrupted test reports632 does not send polling interval633 returns 400 HTTP status634 behaves like authorize read pipeline635 public project with private builds636 restricts access to signed out users637 restricts access to other users638 behaves like DescriptionDiffActions640 when license is available641 GET description_diff642 returns the diff with the previous version643 returns the diff with the previous version of the specified start_version_id644 when description version is from another issuable645 returns 404646 when start_version_id is from another issuable647 returns 404648 when start_version_id is deleted649 returns 404650 when description version is deleted651 returns 404652 DELETE description_diff653 returns 200654 when start_version_id is present655 returns 200656 when version is already deleted657 returns 404658 when user cannot admin issuable659 returns 404660 when license is not available661 GET description_diff662 returns 404663 DELETE description_diff664 returns 404665API::Projects666 GET /projects667 does not break on license checks668 filters by verification flags669 filters by :repository_verification_failed670 filters by :wiki_verification_failed671 when there are several projects owned by groups672 avoids N+1 queries673 GET /projects/:id674 with external authorization675 when the user has access to the project676 includes the label in the response677 when the external service denies access678 returns a 404679 it does not return the label when the feature is not available680 does not include the label in the response681 with ip restriction682 when the group_ip_restriction feature is not available683 returns 200684 when the group_ip_restriction feature is available685 returns 404 for request from ip not in the range686 returns 200 for request from ip in the range687 compliance_frameworks attribute688 when compliance_framework feature is available689 when project has a compliance framework690 exposes framework names as array of strings691 when project has no compliance framework692 returns an empty array693 project soft-deletion694 marked_for_deletion_at attribute695 exposed when the feature is available696 not exposed when the feature is not available697 marked_for_deletion_on attribute698 exposed when the feature is available699 not exposed when the feature is not available700 issuable default templates feature is available701 returns issuable default templates702 issuable default templates feature not available703 does not return issuable default templates704 merge pipelines feature is available705 returns merge pipelines enabled flag706 merge pipelines feature not available707 does not return merge pipelines enabled flag708 merge trains feature is available709 returns merge trains enabled flag710 merge trains feature not available711 does not return merge trains enabled flag712 GET /projects/:id/users713 when unauthenticated714 behaves like project users response715 returns the project users716 when the gitlab_employee_badge flag is off717 does not expose the is_gitlab_employee attribute on the user718 when the gitlab_employee_badge flag is on but we are not on gitlab.com719 does not expose the is_gitlab_employee attribute on the user720 when the gitlab_employee_badge flag is on and we are on gitlab.com721 exposes the is_gitlab_employee attribute on the user722 when authenticated723 valid request724 behaves like project users response725 returns the project users726 when the gitlab_employee_badge flag is off727 does not expose the is_gitlab_employee attribute on the user728 when the gitlab_employee_badge flag is on but we are not on gitlab.com729 does not expose the is_gitlab_employee attribute on the user730 when the gitlab_employee_badge flag is on and we are on gitlab.com731 exposes the is_gitlab_employee attribute on the user732 POST /projects/user/:id733 with templates734 behaves like creates projects with templates735 creates a project using a template736 returns a 400 error for an invalid template name737 returns a 400 error for an invalid template ID738 behaves like creates projects with templates739 creates a project using a template740 returns a 400 error for an invalid template name741 returns a 400 error for an invalid template ID742 behaves like creates projects with templates743 creates a project using a template744 returns a 400 error for an invalid template name745 returns a 400 error for an invalid template ID746 behaves like creates projects with templates747 creates a project using a template748 returns a 400 error for an invalid template name749 returns a 400 error for an invalid template ID750 POST /projects751 with templates752 behaves like creates projects with templates753 creates a project using a template754 returns a 400 error for an invalid template name755 returns a 400 error for an invalid template ID756 behaves like creates projects with templates757 creates a project using a template758 returns a 400 error for an invalid template name759 returns a 400 error for an invalid template ID760 behaves like creates projects with templates761 creates a project using a template762 returns a 400 error for an invalid template name763 returns a 400 error for an invalid template ID764 behaves like creates projects with templates765 creates a project using a template766 returns a 400 error for an invalid template name767 returns a 400 error for an invalid template ID768 when importing with mirror attributes769 creates new project with pull mirroring set up770 creates project without mirror settings when repository mirroring feature is disabled771 when pull mirroring is not available772 ignores the mirroring options773 creates project with mirror settings774 GET projects/:id/audit_events775 behaves like inaccessable by reporter role and lower776 for reporter777 returns 403 response778 for guest779 returns 403 response780 for anonymous781 returns 403 response782 when authenticated, as a member783 returns only events authored by current user784 when authenticated, as a project owner785 audit events feature is not available786 behaves like 403 response787 returns 403788 audit events feature is available789 returns 200 response790 includes the correct pagination headers791 does not include audit events of a different project792 parameters793 created_before parameter794 returns audit events created before the given parameter795 created_after parameter796 returns audit events created after the given parameter797 response schema798 matches the response schema799 GET projects/:id/audit_events/:audit_event_id800 behaves like inaccessable by reporter role and lower801 for reporter802 returns 403 response803 for guest804 returns 403 response805 for anonymous806 returns 403 response807 when authenticated, as a guest808 behaves like 403 response809 returns 403810 when authenticated, as a member811 returns 200 response812 existing audit event of a different user813 behaves like 404 response814 returns 404815 when authenticated, as a project owner816 audit events feature is not available817 behaves like 403 response818 returns 403819 audit events feature is available820 existent audit event821 returns 200 response822 response schema823 matches the response schema824 invalid audit_event_id825 behaves like 400 response826 returns 400827 non existent audit event828 non existent audit event of a project829 behaves like 404 response830 returns 404831 existing audit event of a different project832 behaves like 404 response833 returns 404834 PUT /projects/:id835 issuable default templates feature is available836 when updating issues_template837 updates the content838 when updating merge_requests_template839 updates the content840 issuable default templates feature not available841 when updating issues_template842 does not update the content843 when updating merge_requests_template844 does not update the content845 merge pipelines feature is available846 updates the content847 when user does not have permission848 does not update the content849 merge pipelines feature feature not available850 does not update the content851 merge trains feature is available852 updates the content853 when user does not have permission854 does not update the content855 merge trains feature feature not available856 does not update the content857 when updating external classification858 updates the classification label859 when updating mirror related attributes860 updates mirror related attributes861 updates project without mirror attributes when the project is unable to set up repository mirroring862 renders an API error when mirror user is invalid863 returns 403 when the user does not have access to mirror settings864 when pull mirroring is not available865 does not update mirror related attributes866 updates mirror related attributes when user is admin867 updating approvals_before_merge attribute868 when authenticated as project owner869 updates approvals_before_merge870 POST /projects/:id/restore871 feature is available872 restores project873 returns error if project is already being deleted874 feature is not available875 returns error876 DELETE /projects/:id877 when feature is available878 delayed project removal is enabled for group879 returns error if project cannot be marked for deletion880 behaves like marks project for deletion881 is expected to be truthy882 when instance setting is set to 0 days883 deletes project right away884 delayed project removal is disabled for group885 behaves like deletes project immediately886 is expected to eq true887 for projects in user namespace888 behaves like deletes project immediately889 is expected to eq true890 when feature is not available891 behaves like deletes project immediately892 is expected to eq true893 POST /projects/:id/fork894 when project namespace has prohibit_outer_forks enabled895 and target namespace is outer896 renders 404897 and target namespace is inner to project namespace898 forks the project899API::Members900 group members endpoints for group with minimal access feature901 GET /groups/:id/members902 returns user with minimal access when feature is available903 does not return user with minimal access when feature is unavailable904 POST /groups/:id/members905 when minimal access role is not available906 does not create a member907 when minimal access role is available908 creates a member909 PUT /groups/:id/members/:user_id910 when minimal access role is available911 updates the member912 when minimal access role is not available913 does not update the member914 DELETE /groups/:id/members/:user_id915 when minimal access role is available916 deletes the member917 when minimal access role is not available918 does not delete the member919 GET /groups/:id/members/:user_id920 when minimal access role is available921 shows the member922 when minimal access role is not available923 does not show the member924 group members endpoint for group managed accounts925 GET /groups/:id/members926 behaves like members response with exposed emails927 is expected to include (a hash including {"email" => "user300@example.org"})928 behaves like members response with hidden emails929 is expected not to include (a hash including {"email" => "user302@example.org"})930 GET /groups/:id/members/:user_id931 with group managed account member932 behaves like member response with exposed email933 is expected to include {"email" => "user306@example.org"}934 with a regular member935 behaves like member response with hidden email936 is expected not to have key "email"937 GET /groups/:id/members/all938 parent group939 behaves like members response with exposed emails940 is expected to include (a hash including {"email" => "user312@example.org"})941 behaves like members response with hidden emails942 is expected not to include (a hash including {"email" => "user316@example.org"})943 child group944 behaves like members response with exposed emails945 is expected to include (a hash including {"email" => "user324@example.org"})946 behaves like members response with hidden emails947 is expected not to include (a hash including {"email" => "user328@example.org"})948 GET /groups/:id/members/all/:user_id949 with group managed account member950 behaves like member response with exposed email951 is expected to include {"email" => "user332@example.org"}952 with regular member953 behaves like member response with hidden email954 is expected not to have key "email"955 with group managed account child group member956 behaves like member response with exposed email957 is expected to include {"email" => "user344@example.org"}958 with child group regular member959 behaves like member response with hidden email960 is expected not to have key "email"961 project members endpoint for group managed accounts962 GET /projects/:id/members963 behaves like members response with exposed emails964 is expected to include (a hash including {"email" => "user354@example.org"})965 behaves like members response with hidden emails966 is expected not to include (a hash including {"email" => "user358@example.org"})967 GET /projects/:id/members/:user_id968 with group managed account member969 behaves like member response with exposed email970 is expected to include {"email" => "user364@example.org"}971 with a regular member972 behaves like member response with hidden email973 is expected not to have key "email"974 GET /project/:id/members/all975 parent group project976 behaves like members response with exposed emails977 is expected to include (a hash including {"email" => "user374@example.org"})978 behaves like members response with hidden emails979 is expected not to include (a hash including {"email" => "user382@example.org"})980 child group project981 behaves like members response with exposed emails982 is expected to include (a hash including {"email" => "user396@example.org"})983 behaves like members response with hidden emails984 is expected not to include (a hash including {"email" => "user404@example.org"})985 GET /projects/:id/members/all/:user_id986 with group managed account member987 behaves like member response with hidden email988 is expected not to have key "email"989 with regular member990 behaves like member response with hidden email991 is expected not to have key "email"992 with group managed account child group member993 behaves like member response with exposed email994 is expected to include {"email" => "user432@example.org"}995 with child group regular member996 behaves like member response with hidden email997 is expected not to have key "email"998 billable member endpoints999 GET /groups/:id/billable_members1000 with sub group and projects1001 returns paginated billable users1002 when the current user does not have the :admin_group_member ability1003 is a bad request1004 with search params provided1005 returns the relevant billable users1006 with search and sort params provided1007 accepts only sorting options defined in a list1008 does not accept query string not defined in a list1009 when a specific sorting is provided1010 returns the relevant billable users1011 with non owner1012 returns error1013 when group can not be found1014 returns error1015 with non-root group1016 returns error1017 email1018 when members have a public_email1019 is expected to include (a hash including {"email" => "public@email.com"})1020 when members have no public_email1021 is expected to include (a hash including {"email" => ""})1022 GET /groups/:id/billable_members/:user_id/memberships1023 returns memberships for the billable group member1024 returns not found when the user does not exist1025 returns not found when the group does not exist1026 returns not found when the user is not billable1027 returns bad request if the user cannot admin group members1028 returns bad request if the group is a subgroup1029 excludes memberships outside the requested group hierarchy1030 includes subgroup memberships1031 includes project memberships1032 paginates results1033 DELETE /groups/:id/billable_members/:user_id1034 when the current user has insufficient rights1035 returns 4001036 when authenticated as an owner1037 with a user that is a GroupMember1038 behaves like successful deletion1039 deletes the member1040 with a user that is only a ProjectMember1041 behaves like successful deletion1042 deletes the member1043 with a user that is not a member1044 returns a relevant error message1045 without LDAP1046 POST /projects/:id/members1047 group membership locked1048 project in a group1049 returns a 405 method not allowed error when group membership lock is enabled1050 GET /groups/:id/members1051 matches json schema1052 when the flag gitlab_employee_badge is on and we are on gitlab.com1053 includes is_gitlab_employee in the response1054 when the flag gitlab_employee_badge is off1055 does not include is_gitlab_employee in the response1056 when we are not on gitlab.com1057 does not include is_gitlab_employee in the response1058 when a group has SAML provider configured1059 and current_user is group owner1060 returns a list of users with group SAML identities info1061 allows to filter by linked identity presence1062 and current_user is not an owner1063 returns a list of users without group SAML identities info1064 ignores filter by linked identity presence1065 with is_using_seat1066 with show_seat_info set to true1067 returns a list of users that contains the is_using_seat attribute1068 with show_seat_info set to false1069 behaves like seat information not included1070 returns a list of users that does not contain the is_using_seat attribute1071 with no show_seat_info set1072 behaves like seat information not included1073 returns a list of users that does not contain the is_using_seat attribute1074 behaves like POST /:source_type/:id/members1075 with :source_type == projects1076 creates an audit event while creating a new member1077 does not create audit event if creating a new member fails1078 behaves like POST /:source_type/:id/members1079 with :source_type == groups1080 creates an audit event while creating a new member1081 does not create audit event if creating a new member fails1082 group with LDAP group link1083 GET /groups/:id/members/:user_id1084 does not contain an override attribute for non-LDAP users in the response1085 contains an override attribute for ldap users in the response1086 PUT /groups/:id/members/:user_id1087 succeeds when access_level is modified after override has been set1088 fails when access level is modified without an override1089 POST /groups/:id/members/:user_id/override1090 succeeds when override is set on an LDAP user1091 fails when override is set for a non-ldap user1092 DELETE /groups/:id/members/:user_id/override with LDAP links1093 succeeds when override is already set on an LDAP user1094 returns 403 when override is set for a non-ldap user1095API::Epics1096 GET /groups/:id/epics1097 behaves like error requests1098 when epics feature is disabled1099 returns 403 forbidden error1100 when epics feature is enabled1101 returns 404 not found error for a user without permissions to see the group1102 when the request is correct1103 returns 200 status1104 matches the response schema1105 avoids N+1 queries1106 with_label_details1107 avoids N+1 queries1108 returns labels with details1109 with multiple epics1110 returns epics authored by the given author id1111 returns epics reacted to by current user1112 returns epics matching given search string for title1113 returns epics matching given search string for description1114 returns epics matching given status1115 returns all epics when state set to all1116 returns epics matching given confidentiality1117 has upvote/downvote information1118 sorts by created_at descending by default1119 sorts ascending when requested1120 sorts by updated_at descending when requested1121 sorts by updated_at ascending when requested1122 sorts by title descending when requested1123 sorts by title ascending when requested1124 returns an array of labeled epics1125 returns an array of labeled epics with labels param as array1126 returns an array of labeled epics when all labels matches1127 returns an array of labeled epics when all labels matches with labels param as array1128 returns an empty array if no epic matches labels1129 returns an empty array if no epic matches labels with labels param as array1130 returns an array of labeled epics matching given state1131 returns an array of labeled epics matching given state with labels param as array1132 returns an empty array if no epic matches labels and state filters1133 returns an array of epics with any label1134 returns an array of epics with any label with labels param as array1135 returns an array of epics with no label1136 returns an array of epics with no label with labels param as array1137 #to_reference1138 exposes reference path1139 referencing from parent group1140 exposes full reference path1141 behaves like can admin epics1142 when permission is absent1143 returns epic with extra date fields1144 when permission is present1145 returns epic with extra date fields1146 filtering before a specific date1147 returns epics created before a specific date1148 returns epics updated before a specific date1149 filtering after a specific date1150 returns epics created after a specific date1151 returns epics updated after a specific date1152 with hierarchy params1153 excludes descendant group epics1154 includes ancestor group epics1155 with pagination params1156 when viewing the first page1157 behaves like paginated API endpoint1158 returns the correct page1159 viewing the second page1160 behaves like paginated API endpoint1161 returns the correct page1162 GET /groups/:id/epics/:epic_iid1163 behaves like error requests1164 when epics feature is disabled1165 returns 403 forbidden error1166 when epics feature is enabled1167 returns 404 not found error for a user without permissions to see the group1168 when the request is correct1169 returns 200 status1170 matches the response schema1171 exposes subscribed field1172 exposes closed_at attribute1173 exposes full reference path1174 exposes links1175 behaves like can admin epics1176 when permission is absent1177 returns epic with extra date fields1178 when permission is present1179 returns epic with extra date fields1180 POST /groups/:id/epics1181 behaves like error requests1182 when epics feature is disabled1183 returns 403 forbidden error1184 when epics feature is enabled1185 returns 404 not found error for a user without permissions to see the group1186 when epics feature is enabled1187 creates a new epic with labels param as array1188 creates a new epic with no labels1189 when required parameter is missing1190 returns 4001191 when the request is correct1192 returns 201 status1193 matches the response schema1194 creates a new epic1195 when deprecated start_date and end_date params are present1196 updates start_date_fixed and due_date_fixed1197 setting created_at1198 sets the creation time on the new epic if the user is an admin1199 sets the creation time on the new epic if the user is a group owner1200 ignores the given creation time if the user is another user1201 PUT /groups/:id/epics/:epic_iid1202 behaves like error requests1203 when epics feature is disabled1204 returns 403 forbidden error1205 when epics feature is enabled1206 returns 404 not found error for a user without permissions to see the group1207 when epics feature is enabled1208 when a user does not have permissions to create an epic1209 returns 403 forbidden error1210 when no param sent1211 returns 4001212 when the request is correct1213 clears labels when labels param is nil1214 with basic params1215 returns 200 status1216 matches the response schema1217 updates the epic1218 with labels1219 updates the epic with labels param as array1220 when adding labels, keeps existing labels and adds new1221 when removing labels, only removes those specified1222 when removing all labels, keeps no labels1223 when state_event is close1224 allows epic to be closed1225 when state_event is reopen1226 allows epic to be reopend1227 setting updated_at1228 ignores the given update time when run by another user1229 sets the update time on the epic when run by an admin1230 sets the update time on the epic when run by a group owner1231 when deprecated start_date and end_date params are present1232 updates start_date_fixed and due_date_fixed1233 when updating start_date_is_fixed by itself1234 updates start_date_is_fixed1235 DELETE /groups/:id/epics/:epic_iid1236 behaves like error requests1237 when epics feature is disabled1238 returns 403 forbidden error1239 when epics feature is enabled1240 returns 404 not found error for a user without permissions to see the group1241 when epics feature is enabled1242 when a user does not have permissions to destroy an epic1243 returns 403 forbidden error1244 when the request is correct1245 returns 204 status1246 removes an epic1247API::Issues1248 GET /issues1249 when authenticated1250 matches V4 response schema1251 blocking issues count1252 returns a blocking issues count of 0 if there are no blocking issues1253 returns a blocking issues count of 1 if there exists a blocking issue1254 filtering by weight1255 returns issues with specific weight1256 returns issues with no weight1257 returns issues with any weight1258 returns issues without specific weight1259 filtering by assignee_username1260 returns issues with multiple assignees1261 behaves like filtering by epic_id1262 returns issues without epic when epic_id is "None"1263 returns issues with any epic when epic_id is "Any"1264 returns issues with any epic when epic_id is specific1265 filtering by iteration1266 returns issues with specific iteration1267 returns issues with no iteration1268 returns issues with any iteration1269 returns no issues on user dashboard issues list1270 returns issues with a specific iteration title1271 GET /groups/:id/issues1272 avoids N+1 queries1273 filtering by assignee_username1274 returns issues with multiple assignees1275 behaves like filtering by epic_id1276 returns issues without epic when epic_id is "None"1277 returns issues with any epic when epic_id is "Any"1278 returns issues with any epic when epic_id is specific1279 behaves like exposes epic1280 with epics feature1281 contains epic_iid in response1282 contains epic in response1283 and epic issue is not present1284 exposes epic as nil1285 without epics feature1286 does not contain epic_iid in response1287 does not contain epic_iid in response1288 filtering by iteration1289 returns issues with Current iteration1290 GET /projects/:id/issues1291 filtering by assignee_username1292 returns issues with multiple assignees1293 behaves like filtering by epic_id1294 returns issues without epic when epic_id is "None"1295 returns issues with any epic when epic_id is "Any"1296 returns issues with any epic when epic_id is specific1297 on personal project1298 does not contain epic_iid in response1299 on group project1300 behaves like exposes epic1301 with epics feature1302 contains epic_iid in response1303 contains epic in response1304 and epic issue is not present1305 exposes epic as nil1306 without epics feature1307 does not contain epic_iid in response1308 does not contain epic_iid in response1309 filtering by iteration1310 returns issues with Current iteration1311 GET /project/:id/issues/:issue_id1312 on personal project1313 does not contain epic_iid in response1314 on group project1315 behaves like exposes epic1316 with epics feature1317 contains epic_iid in response1318 contains epic in response1319 and epic issue is not present1320 exposes epic as nil1321 without epics feature1322 does not contain epic_iid in response1323 does not contain epic_iid in response1324 POST /projects/:id/issues1325 creates a new project issue1326 behaves like with epic parameter1327 for a group project1328 with epics feature1329 when user can admin epics1330 with epic_id parameter1331 sets epic on issue1332 with deprecated epic_iid parameter1333 sets epic on issue1334 when user can not edit epics1335 returns an error1336 without epics feature1337 does not set epic on issue1338 when both epic_id and epic_iid is used1339 returns an error1340 for a user project1341 does not set epic on issue1342 PUT /projects/:id/issues/:issue_iid to update weight1343 updates an issue with no weight1344 removes a weight from an issue1345 returns 400 if weight is less than minimum weight1346 creates a ResourceWeightEvent1347 does not create a system note1348 adds a note when the weight is changed1349 issuable weights unlicensed1350 ignores the update1351 PUT /projects/:id/issues/:issue_iid to update epic1352 behaves like with epic parameter1353 for a group project1354 with epics feature1355 when user can admin epics1356 with epic_id parameter1357 sets epic on issue1358 with deprecated epic_iid parameter1359 sets epic on issue1360 when user can not edit epics1361 returns an error1362 without epics feature1363 does not set epic on issue1364 when both epic_id and epic_iid is used1365 returns an error1366 for a user project1367 does not set epic on issue1368 POST /projects/:id/issues/:issue_iid/metric_images1369 user_role: :guest, own_issue: true, expected_status: :can_upload_metric_image1370 behaves like can_upload_metric_image1371 creates a new metric image1372 user_role: :guest, own_issue: false, expected_status: :unauthorized_upload1373 behaves like unauthorized_upload1374 disallows the upload1375 user_role: :reporter, own_issue: true, expected_status: :can_upload_metric_image1376 behaves like can_upload_metric_image1377 creates a new metric image1378 user_role: :reporter, own_issue: false, expected_status: :can_upload_metric_image1379 behaves like can_upload_metric_image1380 creates a new metric image1381 file size too large1382 returns an error1383 object storage enabled1384 uploads to remote storage1385 behaves like can_upload_metric_image1386 creates a new metric image1387 GET /projects/:id/issues/:issue_iid/metric_images1388 user_role: :not_member, own_issue: false, issue_confidential: false, expected_status: :unauthorized_read1389 behaves like unauthorized_read1390 cannot read the metric images1391 user_role: :guest, own_issue: false, issue_confidential: true, expected_status: :unauthorized_read1392 behaves like unauthorized_read1393 cannot read the metric images1394 user_role: :guest, own_issue: true, issue_confidential: false, expected_status: :can_read_metric_image1395 behaves like can_read_metric_image1396 can read the metric images1397 user_role: :guest, own_issue: false, issue_confidential: false, expected_status: :can_read_metric_image1398 behaves like can_read_metric_image1399 can read the metric images1400 user_role: :reporter, own_issue: true, issue_confidential: false, expected_status: :can_read_metric_image1401 behaves like can_read_metric_image1402 can read the metric images1403 user_role: :reporter, own_issue: false, issue_confidential: false, expected_status: :can_read_metric_image1404 behaves like can_read_metric_image1405 can read the metric images1406 DELETE /projects/:id/issues/:issue_iid/metric_images/:metric_image_id1407 user_role: :not_member, own_issue: false, issue_confidential: false, expected_status: :unauthorized_delete1408 behaves like unauthorized_delete1409 cannot delete the metric image1410 user_role: :not_member, own_issue: true, issue_confidential: false, expected_status: :unauthorized_delete1411 behaves like unauthorized_delete1412 cannot delete the metric image1413 user_role: :not_member, own_issue: true, issue_confidential: true, expected_status: :unauthorized_delete1414 behaves like unauthorized_delete1415 cannot delete the metric image1416 user_role: :guest, own_issue: false, issue_confidential: true, expected_status: :not_found1417 behaves like not_found1418 cannot delete the metric image1419 user_role: :guest, own_issue: false, issue_confidential: false, expected_status: :unauthorized_delete1420 behaves like unauthorized_delete1421 cannot delete the metric image1422 user_role: :guest, own_issue: true, issue_confidential: false, expected_status: :can_delete_metric_image1423 behaves like can_delete_metric_image1424 can delete the metric images1425 user_role: :reporter, own_issue: true, issue_confidential: false, expected_status: :can_delete_metric_image1426 behaves like can_delete_metric_image1427 can delete the metric images1428 user_role: :reporter, own_issue: false, issue_confidential: false, expected_status: :can_delete_metric_image1429 behaves like can_delete_metric_image1430 can delete the metric images1431 user has access1432 metric image not found1433 returns an error1434API::Groups1435 GET /groups1436 when authenticated as user1437 returns ldap details1438 GET /groups/:id1439 group_ip_restriction1440 when the group_ip_restriction feature is not available1441 returns 2001442 when the group_ip_restriction feature is available1443 returns 404 for request from ip not in the range1444 returns 200 for request from ip in the range1445 marked_for_deletion_on attribute1446 when feature is available1447 is exposed1448 when feature is not available1449 is not exposed1450 file_template_project_id is a private project1451 user has permission to private project1452 returns file_template_project_id1453 user does not have permission to private project1454 does not return file_template_project_id1455 user is not logged in1456 does not return file_template_project_id1457 PUT /groups/:id1458 file_template_project_id1459 does not update file_template_project_id if unlicensed1460 updates file_template_project_id if licensed1461 shared_runners_minutes_limit1462 when authenticated as the group owner1463 returns 200 if shared_runners_minutes_limit is not changing1464 when authenticated as the admin1465 updates the group for shared_runners_minutes_limit1466 default_branch_protection1467 authenticated as an admin1468 feature_enabled: true, setting_enabled: true, default_branch_protection: 01469 updates the attribute as expected1470 feature_enabled: false, setting_enabled: true, default_branch_protection: 01471 updates the attribute as expected1472 feature_enabled: true, setting_enabled: false, default_branch_protection: 01473 updates the attribute as expected1474 feature_enabled: false, setting_enabled: false, default_branch_protection: 01475 updates the attribute as expected1476 authenticated a normal user1477 feature_enabled: true, setting_enabled: true, default_branch_protection: 01478 updates the attribute as expected1479 feature_enabled: false, setting_enabled: true, default_branch_protection: 01480 updates the attribute as expected1481 feature_enabled: true, setting_enabled: false, default_branch_protection: 21482 updates the attribute as expected1483 feature_enabled: false, setting_enabled: false, default_branch_protection: 01484 updates the attribute as expected1485 prevent_forking_outside_group1486 authenticated as group owner1487 feature_enabled: false, prevent_forking_outside_group: false, result: nil1488 updates the attribute as expected1489 feature_enabled: false, prevent_forking_outside_group: true, result: nil1490 updates the attribute as expected1491 feature_enabled: true, prevent_forking_outside_group: false, result: false1492 updates the attribute as expected1493 feature_enabled: true, prevent_forking_outside_group: true, result: true1494 updates the attribute as expected1495 POST /groups1496 when authenticated as user with group permissions1497 creates an ldap_group_link if ldap_cn and ldap_access are supplied1498 when shared_runners_minutes_limit is given1499 when the current user is not an admin1500 does not create a group with shared_runners_minutes_limit1501 when the current user is an admin1502 creates a group with shared_runners_minutes_limit1503 when creating a group with `default_branch_protection` attribute1504 authenticated as an admin1505 feature_enabled: true, setting_enabled: true, default_branch_protection: 01506 creates the group with the expected `default_branch_protection` value1507 feature_enabled: false, setting_enabled: true, default_branch_protection: 01508 creates the group with the expected `default_branch_protection` value1509 feature_enabled: true, setting_enabled: false, default_branch_protection: 01510 creates the group with the expected `default_branch_protection` value1511 feature_enabled: false, setting_enabled: false, default_branch_protection: 01512 creates the group with the expected `default_branch_protection` value1513 authenticated a normal user1514 feature_enabled: true, setting_enabled: true, default_branch_protection: 01515 creates the group with the expected `default_branch_protection` value1516 feature_enabled: false, setting_enabled: true, default_branch_protection: 01517 creates the group with the expected `default_branch_protection` value1518 feature_enabled: true, setting_enabled: false, default_branch_protection: 21519 creates the group with the expected `default_branch_protection` value1520 feature_enabled: false, setting_enabled: false, default_branch_protection: 01521 creates the group with the expected `default_branch_protection` value1522 when creating group on .com1523 when top_level_group_creation_enabled feature flag is disabled1524 does not create a top-level group1525 creates a subgroup1526 when top_level_group_creation_enabled feature flag is enabled1527 creates a top-level group1528 when creating group on self-managed1529 when top_level_group_creation_enabled feature flag is disabled1530 creates a top-level group1531 creates a subgroup1532 when top_level_group_creation_enabled feature flag is enabled1533 creates a top-level group1534 POST /groups/:id/ldap_sync1535 when the ldap_group_sync feature is available1536 when authenticated as the group owner1537 returns 404 for a non existing group1538 when the group is ready to sync1539 returns 202 Accepted1540 queues a sync job1541 sets the ldap_sync state to pending1542 when the group is already pending a sync1543 returns 202 Accepted1544 does not queue a sync job1545 does not change the ldap_sync state1546 when authenticated as the admin1547 returns 202 Accepted1548 when authenticated as a non-owner user that can see the group1549 returns 4031550 when authenticated as an user that cannot see the group1551 returns 4041552 when the ldap_group_sync feature is not available1553 returns 404 (same as CE would)1554 GET /groups/:id/projects1555 when authenticated as user1556 when security dashboard is enabled for a group1557 returns only projects with security reports1558 when security dashboard is disabled for a group1559 returns all projects regardless of the security reports1560 GET group/:id/audit_events1561 behaves like inaccessable by reporter role and lower1562 for reporter1563 returns 403 response1564 for guest1565 returns 403 response1566 for anonymous1567 returns 403 response1568 when authenticated, as a member1569 returns only events authored by current user1570 when authenticated, as a group owner1571 audit events feature is not available1572 behaves like 403 response1573 returns 4031574 audit events feature is available1575 returns 200 response1576 includes the correct pagination headers1577 does not include audit events of a different group1578 parameters1579 created_before parameter1580 returns audit events created before the given parameter1581 created_after parameter1582 returns audit events created after the given parameter1583 response schema1584 matches the response schema1585 GET group/:id/audit_events/:audit_event_id1586 behaves like inaccessable by reporter role and lower1587 for reporter1588 returns 403 response1589 for guest1590 returns 403 response1591 for anonymous1592 returns 403 response1593 when authenticated, as a member1594 returns 200 response1595 existing audit event of a different user1596 behaves like 404 response1597 returns 4041598 when authenticated, as a group owner1599 audit events feature is not available1600 behaves like 403 response1601 returns 4031602 audit events feature is available1603 existent audit event1604 returns 200 response1605 response schema1606 matches the response schema1607 invalid audit_event_id1608 behaves like 400 response1609 returns 4001610 non existent audit event1611 non existent audit event of a group1612 behaves like 404 response1613 returns 4041614 existing audit event of a different group1615 behaves like 404 response1616 returns 4041617 DELETE /groups/:id1618 feature is available1619 period for delayed deletion is greater than 01620 does not mark the group for deletion when the group has a paid gitlab.com subscription1621 marks for deletion a subgroup of a group with a paid gitlab.com subscription1622 success1623 marks the group for delayed deletion1624 does not immediately enqueue the job to delete the group1625 failure1626 returns error1627 period of delayed deletion is set to 01628 behaves like immediately enqueues the job to delete the group1629 is expected to respond with numeric status code accepted1630 feature is not available1631 does not delete the group when the group has a paid gitlab.com subscription1632 deletes a subgroup of a group with a paid gitlab.com subscription1633 behaves like immediately enqueues the job to delete the group1634 is expected to respond with numeric status code accepted1635 POST /groups/:id/restore1636 feature is available1637 authenticated as owner1638 restoring is successful1639 restores the group to original state1640 restoring fails1641 returns error1642 authenticated as user without access to the group1643 returns 4031644 feature is not available1645 returns 4041646Registrations::ProjectsController1647 GET #new1648 with an unauthenticated user1649 is expected to respond with numeric status code redirect1650 is expected to redirect to "/users/sign_in"1651 with an authenticated user1652 when on .com1653 is expected to respond with numeric status code not_found1654 with a namespace in the URL1655 is expected to respond with numeric status code not_found1656 with sufficient access1657 is expected to respond with numeric status code ok1658 is expected to render template new1659 when not on .com1660 is expected to respond with numeric status code not_found1661 POST #create1662 with an unauthenticated user1663 is expected to respond with numeric status code redirect1664 is expected to redirect to "/users/sign_in"1665 with an authenticated user1666/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/carrierwave-1.3.2/lib/carrierwave/mounter.rb:113: warning: deprecated Object#=~ is called on TrueClass; it always returns nil1667 creates a new project, a "Learn GitLab" project, sets a cookie and redirects to the experience level page1668/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/carrierwave-1.3.2/lib/carrierwave/mounter.rb:113: warning: deprecated Object#=~ is called on TrueClass; it always returns nil1669 tracks an event for the jobs_to_be_done experiment1670/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/carrierwave-1.3.2/lib/carrierwave/mounter.rb:113: warning: deprecated Object#=~ is called on TrueClass; it always returns nil1671 tracks an event for the force_company_trial experiment1672 tracks learn gitlab experiments1673 learn gitlab project1674 trial: false, experiment_enabled: false, project_name: "Learn GitLab", template: "learn_gitlab.tar.gz"1675 is expected to receive execute(*(any args)) 1 time1676 trial: false, experiment_enabled: true, project_name: "Learn GitLab", template: "learn_gitlab_ultimate_trial.tar.gz"1677 is expected to receive execute(*(any args)) 1 time1678 trial: true, experiment_enabled: false, project_name: "Learn GitLab - Ultimate trial", template: "learn_gitlab_ultimate_trial.tar.gz"1679 is expected to receive execute(*(any args)) 1 time1680 trial: true, experiment_enabled: true, project_name: "Learn GitLab - Ultimate trial", template: "learn_gitlab_ultimate_trial.tar.gz"1681 is expected to receive execute(*(any args)) 1 time1682 when the trial onboarding is active1683/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/carrierwave-1.3.2/lib/carrierwave/mounter.rb:113: warning: deprecated Object#=~ is called on TrueClass; it always returns nil1684 creates a new project, a "Learn GitLab - Ultimate trial" project, does not set a cookie1685 records context and redirects to the trial getting started page1686 when the project cannot be saved1687 does not create a project1688 is expected to respond with numeric status code ok1689 is expected to render template new1690 with signup onboarding not enabled1691 is expected to respond with numeric status code not_found1692API::Wikis1693 GET /groups/:id/wikis1694 when group wiki is disabled1695 when user is guest1696 returns 404 Group Not Found1697 when user is developer1698 returns 403 Forbidden1699 when user is maintainer1700 returns 403 Forbidden1701 when wiki is available only for team members1702 when user is guest1703 returns 404 Group Not Found (PENDING: Temporarily skipped with xcontext)1704 when user is developer1705 return the empty list of wiki pages (PENDING: Temporarily skipped with xcontext)1706 when wiki has pages1707 returns the list of wiki pages without content (PENDING: Temporarily skipped with xcontext)1708 returns the list of wiki pages with content (PENDING: Temporarily skipped with xcontext)1709 when user is maintainer1710 return the empty list of wiki pages (PENDING: Temporarily skipped with xcontext)1711 when wiki has pages1712 returns the list of wiki pages without content (PENDING: Temporarily skipped with xcontext)1713 returns the list of wiki pages with content (PENDING: Temporarily skipped with xcontext)1714 when wiki is available for everyone with access1715 when user is guest1716 returns 404 Group Not Found1717 when user is developer1718 return the empty list of wiki pages1719 when wiki has pages1720 returns the list of wiki pages without content1721 returns the list of wiki pages with content1722 when user is maintainer1723 return the empty list of wiki pages1724 when wiki has pages1725 returns the list of wiki pages without content1726 returns the list of wiki pages with content1727 GET /groups/:id/wikis/:slug1728 when wiki is disabled1729 when user is guest1730 returns 404 Group Not Found1731 when user is developer1732 returns 403 Forbidden1733 when user is maintainer1734 returns 403 Forbidden1735 when wiki is available only for team members1736 when user is guest1737 returns 404 Group Not Found (PENDING: Temporarily skipped with xcontext)1738 when user is developer1739 returns the wiki page (PENDING: Temporarily skipped with xcontext)1740 when page does not exist1741 returns 404 Wiki Page Not Found (PENDING: Temporarily skipped with xcontext)1742 when user is maintainer1743 returns the wiki page (PENDING: Temporarily skipped with xcontext)1744 when page does not exist1745 returns 404 Wiki Page Not Found (PENDING: Temporarily skipped with xcontext)1746 when wiki is available for everyone with access1747 when user is guest1748 returns 404 Group Not Found1749 when user is developer1750 returns the wiki page1751 when page does not exist1752 returns 404 Wiki Page Not Found1753 when user is maintainer1754 returns the wiki page1755 when page does not exist1756 returns 404 Wiki Page Not Found1757 POST /groups/:id/wikis1758 when wiki is disabled1759 when user is guest1760 returns 404 Group Not Found1761 when user is developer1762 returns 403 Forbidden1763 when user is maintainer1764 returns 403 Forbidden1765 when wiki is available only for team members1766 when user is guest1767 returns 404 Group Not Found (PENDING: Temporarily skipped with xcontext)1768 when user is developer1769 creates the wiki page (PENDING: Temporarily skipped with xcontext)1770 responds with validation error on empty title (PENDING: Temporarily skipped with xcontext)1771 responds with validation error on empty content (PENDING: Temporarily skipped with xcontext)1772 when user is maintainer1773 creates the wiki page (PENDING: Temporarily skipped with xcontext)1774 responds with validation error on empty title (PENDING: Temporarily skipped with xcontext)1775 responds with validation error on empty content (PENDING: Temporarily skipped with xcontext)1776 when wiki is available for everyone with access1777 when user is guest1778 returns 404 Group Not Found1779 when user is developer1780 creates the wiki page1781 responds with validation error on empty title1782 responds with validation error on empty content1783 when user is maintainer1784 creates the wiki page1785 responds with validation error on empty title1786 responds with validation error on empty content1787 PUT /group/:id/wikis/:slug1788 when wiki is disabled1789 when user is guest1790 returns 404 Group Not Found1791 when user is developer1792 returns 403 Forbidden1793 when user is maintainer1794 returns 403 Forbidden1795 when wiki is available only for team members1796 when user is guest1797 returns 404 Group Not Found (PENDING: Temporarily skipped with xcontext)1798 when user is developer1799 updates the wiki page (PENDING: Temporarily skipped with xcontext)1800 updates with wiki with missing title (PENDING: Temporarily skipped with xcontext)1801 updates with wiki with missing content (PENDING: Temporarily skipped with xcontext)1802 updates with wiki with missing format (PENDING: Temporarily skipped with xcontext)1803 when page does not exist1804 returns 404 Wiki Page Not Found (PENDING: Temporarily skipped with xcontext)1805 when user is maintainer1806 updates the wiki page (PENDING: Temporarily skipped with xcontext)1807 updates with wiki with missing title (PENDING: Temporarily skipped with xcontext)1808 updates with wiki with missing content (PENDING: Temporarily skipped with xcontext)1809 updates with wiki with missing format (PENDING: Temporarily skipped with xcontext)1810 when page is not existing1811 returns 404 Wiki Page Not Found (PENDING: Temporarily skipped with xcontext)1812 when wiki is available for everyone with access1813 when user is guest1814 returns 404 Group Not Found1815 when user is developer1816 updates the wiki page1817 updates with wiki with missing title1818 updates with wiki with missing content1819 updates with wiki with missing format1820 when page does not exist1821 returns 404 Wiki Page Not Found1822 when user is maintainer1823 updates the wiki page1824 updates with wiki with missing title1825 updates with wiki with missing content1826 updates with wiki with missing format1827 when page does not exist1828 returns 404 Wiki Page Not Found1829 when user is owner of parent group1830 updates the wiki page1831 updates with wiki with missing title1832 updates with wiki with missing content1833 updates with wiki with missing format1834 DELETE /groups/:id/wikis/:slug1835 when wiki is disabled1836 when user is guest1837 returns 404 Group Not Found1838 when user is developer1839 returns 403 Forbidden1840 when user is maintainer1841 returns 403 Forbidden1842 when wiki is available only for team members1843 when user is guest1844 returns 404 Group Not Found (PENDING: Temporarily skipped with xcontext)1845 when user is developer1846 returns 403 Forbidden (PENDING: Temporarily skipped with xcontext)1847 when user is maintainer1848 returns 204 No Content (PENDING: Temporarily skipped with xcontext)1849 when wiki is available for everyone with access1850 when user is guest1851 returns 404 Group Not Found1852 when user is developer1853 returns 403 Forbidden1854 when user is maintainer1855 returns 204 No Content1856 when page does not exist1857 returns 404 Wiki Page Not Found1858 when user is owner of parent group1859 returns 204 No Content1860 POST /groups/:id/wikis/attachments1861 when wiki is disabled1862 when user is guest1863 returns 404 Group Not Found1864 when user is developer1865 returns 403 Forbidden1866 when user is maintainer1867 returns 403 Forbidden1868 when wiki is available only for team members1869 when user is guest1870 returns 404 Group Not Found (PENDING: Temporarily skipped with xcontext)1871 when user is developer1872 pushes attachment to the wiki repository (PENDING: Temporarily skipped with xcontext)1873 responds with validation error on empty file (PENDING: Temporarily skipped with xcontext)1874 responds with validation error on invalid temp file (PENDING: Temporarily skipped with xcontext)1875 is backward compatible with regular multipart uploads (PENDING: Temporarily skipped with xcontext)1876 when user is maintainer1877 pushes attachment to the wiki repository (PENDING: Temporarily skipped with xcontext)1878 responds with validation error on empty file (PENDING: Temporarily skipped with xcontext)1879 responds with validation error on invalid temp file (PENDING: Temporarily skipped with xcontext)1880 is backward compatible with regular multipart uploads (PENDING: Temporarily skipped with xcontext)1881 when wiki is available for everyone with access1882 when user is guest1883 returns 404 Group Not Found1884 when user is developer1885 pushes attachment to the wiki repository1886 responds with validation error on empty file1887 responds with validation error on invalid temp file1888 is backward compatible with regular multipart uploads1889 when user is maintainer1890 pushes attachment to the wiki repository1891 responds with validation error on empty file1892 responds with validation error on invalid temp file1893 is backward compatible with regular multipart uploads1894Boards::ListsController1895 GET index1896 returns a successful 200 response1897 returns a list of board lists1898 with unauthorized user1899 returns a forbidden 403 response1900 POST create1901 with valid params1902 for label lists1903 returns a successful 200 response1904 for iteration lists1905 when iteration_board_lists is disabled1906 returns an error1907 when license is available1908 returns a successful 200 response1909 when license is unavailable1910 returns an error1911 with max issue count1912 with licensed wip limits1913 returns the created list1914 without licensed wip limits1915 ignores max issue count1916 with max issue weight1917 with licensed wip limits1918 returns the created list1919 without licensed wip limits1920 ignores max issue count1921 with limit metric1922 with licensed wip limits1923 fails with an unknown limit metric1924 behaves like a limit metric response1925 returns the created list with expected limit_metric1926 behaves like a limit metric response1927 returns the created list with expected limit_metric1928 behaves like a limit metric response1929 returns the created list with expected limit_metric1930 behaves like a limit metric response1931 returns the created list with expected limit_metric1932 behaves like a limit metric response1933 returns the created list with expected limit_metric1934 without licensed wip limits1935 ignores limit metric setting1936 with invalid params1937 when label is empty1938 returns an unprocessable entity 422 response1939 when label that does not belongs to group1940 returns an unprocessable entity 422 response1941 with unauthorized user1942 returns a forbidden 403 response1943 PATCH update1944 when updating max limits1945 returns a successful 200 response when max issue count should be updated1946 does not overwrite existing weight when max issue count is provided1947 does not overwrite existing count when max issue weight is provided1948 fails if negative max_issue_count is provided1949 fails if negative max_issue_weight is provided1950 multiple fields update behavior1951 behaves like a list update request1952 updates fields as expected1953 behaves like a list update request1954 updates fields as expected1955 behaves like a list update request1956 updates fields as expected1957 behaves like a list update request1958 updates fields as expected1959 behaves like a list update request1960 updates fields as expected1961 behaves like a list update request1962 updates fields as expected1963 behaves like a list update request1964 updates fields as expected1965 behaves like a list update request1966 updates fields as expected1967 behaves like a list update request1968 updates fields as expected1969 behaves like a list update request1970 updates fields as expected1971 behaves like a list update request1972 updates fields as expected1973 behaves like a list update request1974 updates fields as expected1975 behaves like a list update request1976 updates fields as expected1977 behaves like a list update request1978 updates fields as expected1979 when wip limits are not licensed1980 fails to update max issue count with expected status1981 fails to update max issue weight with expected status1982 with valid position1983 returns a successful 200 response1984 moves the list to the desired position1985 with invalid position1986 returns an unprocessable entity 422 response1987 with invalid list id1988 returns a not found 404 response1989 with unauthorized user1990 returns a 422 unprocessable entity response1991 DELETE destroy1992 with valid list id1993 returns a successful 200 response1994 removes list from board1995 with invalid list id1996 returns a not found 404 response1997 with unauthorized user1998 returns a forbidden 403 response1999Projects::LicensesController2000 GET #index2001 when the "Security & Compliance" feature is disabled2002 is expected to respond with numeric status code not_found2003 with authorized user2004 when feature is available2005 with reporter2006 counts usage of the feature2007 when requesting HTML2008 returns the necessary licenses app data2009 with existing report2010 returns success code2011 returns a hash with licenses2012 returns status ok2013 includes the pagination headers2014 with pagination params2015 return only 1 license2016 when software policies are applied to some of the most recently detected licenses2017 when loading all policies2018 is expected to respond with numeric status code ok2019 is expected to equal 42020 sorts by name by default2021 includes a policy for an unclassified and known license that was detected in the scan report2022 includes a policy for a denied license found in the scan report2023 includes a policy for an allowed license NOT found in the latest scan report2024 includes an entry for an unclassified and unknown license found in the scan report2025 when loading software policies that match licenses detected in the most recent license scan report2026 is expected to respond with numeric status code ok2027 only includes policies for licenses detected in the most recent scan report2028 includes an unclassified policy for a known license detected in the scan report2029 includes a classified license for a known license detected in the scan report2030 includes an unclassified and unknown license discovered in the scan report2031 when loading `allowed` software policies only2032 is expected to respond with numeric status code ok2033 is expected to equal 12034 includes only `allowed` policies2035 when loading `allowed` and `denied` software policies2036 is expected to respond with numeric status code ok2037 is expected to equal 22038 includes `denied` policies2039 includes `allowed` policies2040 when loading policies ordered by `classification` in `ascending` order2041 is expected to respond with numeric status code ok2042 is expected to eq ["allowed", "unclassified", "unclassified", "denied"]2043 when loading policies ordered by `classification` in `descending` order2044 is expected to respond with numeric status code ok2045 is expected to eq ["denied", "unclassified", "unclassified", "allowed"]2046 without existing report2047 returns status job_not_set_up2048 with maintainer2049 responds to an HTML request2050 when feature is not available2051 returns 4042052 with unauthorized user2053 returns 4042054 POST #create2055 when the "Security & Compliance" feature is disabled2056 is expected to respond with numeric status code not_found2057 when authenticated2058 when the current user is not a member of the project2059 is expected to respond with numeric status code not_found2060 when the current user is a member of the project but not authorized to create policies2061 is expected to respond with numeric status code not_found2062 when authorized as a maintainer2063 when creating a policy for a software license by the software license database id2064 is expected to respond with numeric status code created2065 creates a new policy2066 returns the proper JSON response2067 when creating a policy for a software license by the software license SPDX identifier2068 is expected to respond with numeric status code created2069 creates a new policy2070 returns the proper JSON response2071 when the parameters are invalid2072 is expected to respond with numeric status code unprocessable_entity2073 is expected to eq {"errors"=>{"software_license"=>["can't be blank"]}}2074 PATCH #update2075 when the "Security & Compliance" feature is disabled2076 is expected to respond with numeric status code not_found2077 when authenticated2078 when the current user is not a member of the project2079 is expected to respond with numeric status code not_found2080 when the current user is a member of the project but not authorized to update policies2081 is expected to respond with numeric status code not_found2082 when authorized as a maintainer2083 when updating a software license policy2084 is expected to respond with numeric status code ok2085 is expected to be denied2086 generates the proper JSON response2087 when the parameters are invalid2088 is expected to respond with numeric status code unprocessable_entity2089 is expected to eq {"errors"=>{"classification"=>["is invalid"]}}2090 when unauthenticated2091 is expected to redirect to "/users/sign_in"2092Projects::VulnerabilityFeedbackController2093 GET #index2094 @vulnerability_feedback2095 returns a successful 200 response2096 returns project feedbacks list2097 when the pipeline has been set to another project2098 does not present the pipeline2099 with filter params2100 returns project feedbacks list filtered on category2101 returns project feedbacks list filtered on feedback_type2102 returns project feedbacks list filtered on category and feedback_type2103 with unauthorized user for given project2104 returns a 404 response2105 POST #create2106 with valid params2107 returns the created feedback2108 when id of a vulnerability is not provided2109DEPRECATION WARNING: Rendering actions with '.' in the name is deprecated: vulnerabilities/issue_description.md.erb (called from render_description at /builds/gitlab-org/gitlab/ee/app/services/issues/create_from_vulnerability_data_service.rb:37)2110 creates no vulnerability issue link for related vulnerability2111 when security dashboard feature enabled2112 when id of a vulnerability is provided2113 creates vulnerability issue link for related vulnerability2114 with invalid params2115 returns a forbidden 403 response when feedbback_type is nil2116 returns a forbidden 403 response when feedbback_type is invalid2117 with unauthorized user for feedback creation2118 for issue feedback2119 returns a forbidden 403 response2120 for merge_request feedback2121 returns a forbidden 403 response2122 for dismissal feedback2123 returns a forbidden 403 response2124 with unauthorized user for given project2125 returns a 404 response2126 with pipeline in another project2127 returns a 422 response2128 with nonexistent pipeline_id2129 returns a 422 response2130 with nil pipeline_id2131 returns a successful response2132 PATCH #update2133 with valid params2134 returns the updated feedback2135 returns a successful 200 response2136 updates the comment attributes2137 with invalid params2138 returns a not found 404 response for invalid vulnerability feedback id2139 with unauthorized user for feedback update2140 returns a forbidden 403 response2141 with unauthorized user for given project2142 returns a 404 response2143 DELETE #destroy2144 with valid params2145 returns a successful 204 response2146 with invalid params2147 returns a not found 404 response for invalid vulnerability feedback id2148 with unauthorized user for feedback deletion2149 returns a forbidden 403 response2150 with unauthorized user for given project2151 returns a 404 response2152 for issue feedback2153 returns a forbidden 403 response2154 for merge_request feedback2155 returns a forbidden 403 response2156API::MergeRequestApprovalRules2157 GET /projects/:id/merge_requests/:merge_request_iid/approval_rules2158 user cannot read merge request2159 responds with 4032160 use can read merge request2161 matches the response schema2162 groups contain private groups2163 current_user cannot see private group2164 hides private group2165 current_user can see private group2166 shows private group2167 has existing merge request rule that overrides a project-level rule2168 includes source_rule2169 POST /projects/:id/merge_requests/:merge_request_iid/approval_rules2170 behaves like a protected API endpoint for merge request approval rule action2171 disable_overriding_approvers_per_merge_request is set to true2172 responds with 4032173 disable_overriding_approvers_per_merge_request is set to false2174 user cannot update merge request2175 responds with 4032176 when user can update merge request and approval rules can be overridden2177 matches the response schema2178 users are passed2179 includes users2180 groups are passed2181 includes groups2182 approval_project_rule_id is passed2183 with blank approver params2184 copies the attributes from the project rule except approvers2185 with omitted approver params2186 copies the attributes from the project rule except approvals_required2187 PUT /projects/:id/merge_requests/:merge_request_iid/approval_rules/:approval_rule_id2188 behaves like a protected API endpoint for merge request approval rule action2189 disable_overriding_approvers_per_merge_request is set to true2190 responds with 4032191 disable_overriding_approvers_per_merge_request is set to false2192 user cannot update merge request2193 responds with 4032194 when user can update merge request and approval rules can be overridden2195 matches the response schema2196 behaves like a protected API endpoint that only allows action on regular merge request approval rule2197 approval rule is not a regular type2198 responds with 4032199 users are passed2200 changes users2201 groups are passed2202 changes groups2203 remove_hidden_groups is passed2204 when set to true2205 removes the existing private group2206 when set to false2207 does not remove the existing private group2208 DELETE /projects/:id/merge_requests/:merge_request_iid/approval_rules/:approval_rule_id2209 behaves like a protected API endpoint for merge request approval rule action2210 disable_overriding_approvers_per_merge_request is set to true2211 responds with 4032212 disable_overriding_approvers_per_merge_request is set to false2213 user cannot update merge request2214 responds with 4032215 when user can update merge request and approval rules can be overridden2216 responds with 2042217 behaves like a protected API endpoint that only allows action on regular merge request approval rule2218 approval rule is not a regular type2219 responds with 4032220API::MergeRequestApprovals2221 GET :id/merge_requests/:merge_request_iid/approvals2222 retrieves the approval status2223 lists unapproved rule names2224 when private group approver2225 hides private group2226 when admin2227 shows all approver groups2228 when approvers are set to zero2229 returns a 2002230 when merge_status is cannot_be_merged_rechecking2231 returns `checking`2232 GET :id/merge_requests/:merge_request_iid/approval_settings2233 retrieves the approval rules details2234 behaves like an API endpoint for getting merge request approval state2235 when source rule is present2236 returns source rule details2237 when rule has groups2238 when user can view a group2239 includes group2240 when user cannot view a group included in groups2241 excludes private groups2242 when rule has a section2243 exposes the value of section when set2244 when target_branch is specified2245 filters the rules returned by target branch2246 GET :id/merge_requests/:merge_request_iid/approval_state2247 retrieves the approval state details2248 behaves like an API endpoint for getting merge request approval state2249 when source rule is present2250 returns source rule details2251 when rule has groups2252 when user can view a group2253 includes group2254 when user cannot view a group included in groups2255 excludes private groups2256 POST :id/merge_requests/:merge_request_iid/approvals2257 as a project admin2258 behaves like user allowed to override approvals_before_merge2259 when disable_overriding_approvers_per_merge_request is false on the project2260 allows you to set approvals required2261 when disable_overriding_approvers_per_merge_request is true on the project2262 does not allow you to set approvals_before_merge2263 as a global admin2264 behaves like user allowed to override approvals_before_merge2265 when disable_overriding_approvers_per_merge_request is false on the project2266 allows you to set approvals required2267 when disable_overriding_approvers_per_merge_request is true on the project2268 does not allow you to set approvals_before_merge2269 as a random user2270 does not allow you to override approvals required2271 POST :id/merge_requests/:merge_request_iid/approve2272 as the author of the merge request2273 returns a 4012274 as a valid approver2275 only shows group approvers visible to the user2276 when the sha param is not set2277 approves the merge request2278 when the sha param is correct2279 approves the merge request2280 when the sha param is incorrect2281 returns a 4092282 does not approve the merge request2283 when project requires force auth for approval2284 does not approve the merge request with no password2285 does not approve the merge request with incorrect password2286 approves the merge request with correct password2287 POST :id/merge_requests/:merge_request_iid/unapprove2288 as a user who has approved the merge request2289 unapproves the merge request2290 only shows group approvers visible to the user2291Groups::ClustersController2292 behaves like cluster metrics2293 GET #metrics2294 functionality2295 can query Prometheus2296 queries cluster metrics2297 when response has content2298 returns prometheus query response2299 when response has no content2300 returns prometheus query response2301 without Prometheus2302 returns not found2303 cannot query Prometheus2304 returns not found2305 security2306 is expected to be allowed for owner. Expected: 200,201,204,302 Got: 2042307 is expected to be allowed for maintainer. Expected: 200,201,204,302 Got: 2042308 is expected to be denied for developer. Expected: 401,404 Got: 4042309 is expected to be denied for reporter. Expected: 401,404 Got: 4042310 is expected to be denied for guest. Expected: 401,404 Got: 4042311 is expected to be denied for user. Expected: 401,404 Got: 4042312 is expected to be denied for external. Expected: 401,404 Got: 4042313 when admin mode is enabled2314 is expected to be allowed for admin. Expected: 200,201,204,302 Got: 2042315 when admin mode is disabled2316 is expected to be denied for admin. Expected: 401,404 Got: 4042317 GET environments2318 functionality2319 responds successfully2320 security2321 is expected to be allowed for owner. Expected: 200,201,204,302 Got: 2002322 is expected to be allowed for maintainer. Expected: 200,201,204,302 Got: 2002323 is expected to be denied for developer. Expected: 401,404 Got: 4042324 is expected to be denied for reporter. Expected: 401,404 Got: 4042325 is expected to be denied for guest. Expected: 401,404 Got: 4042326 is expected to be denied for user. Expected: 401,404 Got: 4042327 is expected to be denied for external. Expected: 401,404 Got: 4042328 when admin mode is enabled2329 is expected to be allowed for admin. Expected: 200,201,204,302 Got: 2002330 when admin mode is disabled2331 is expected to be denied for admin. Expected: 401,404 Got: 4042332 GET show2333 expires etag cache to force reload environments list2334API::MergeRequests2335 PUT /projects/:id/merge_requests2336 multiple assignees2337 when licensed2338 creates merge request with multiple assignees2339 when not licensed2340 creates merge request with a single assignee2341 when updating existing approval rules2342 is successful2343 POST /projects/:id/merge_requests2344 multiple assignees2345 when licensed2346 creates merge request with multiple assignees2347 when not licensed2348 creates merge request with a single assignee2349 between branches projects2350 returns merge_request2351 the approvals_before_merge param2352 when the target project has disable_overriding_approvers_per_merge_request set to true2353 does not set approvals_before_merge2354 when the target project has disable_overriding_approvers_per_merge_request set to false2355 sets approvals_before_merge2356 PUT /projects/:id/merge_requests/:merge_request_iid/merge2357 returns 405 if merge request was not approved2358 returns 200 if merge request was approved2359 DELETE /projects/:id/merge_requests/:merge_request_iid2360 when the merge request is on the merge train2361 removes train ref2362 when authenticated2363 filter merge requests by assignee ID2364 returns merge requests with given assignee ID2365 filter merge requests by approver IDs2366 with specified approver id2367 returns an array of merge requests which have specified the user as an approver2368 with specified None as a param2369 returns an array of merge requests with no approvers2370 with specified Any as a param2371 returns an array of merge requests with any approver2372 with any other string as a param2373 returns a validation error2374 filter merge requests by approval IDs2375 with specified approved_by id2376 returns an array of merge requests which have specified the user as an approver2377 with multiple specified approved_by ids2378 when approved by all users2379 returns an array of merge requests which have specified the user as an approver2380 when not approved by all users2381 does not return any merge request2382 with specified None as a param2383 returns an array of merge requests with no approvers2384 with specified Any as a param2385 returns an array of merge requests with any approver2386 with any other string as a param2387 returns a validation error2388API::EpicLinks2389 GET /groups/:id/epics/:epic_iid/epics2390 behaves like user does not have access2391 returns 403 when subepics feature is disabled2392 returns 404 not found error for a user without permissions to see the group2393 unauthenticated user2394 returns 401 unauthorized error2395 when subepics feature is enabled2396 returns 200 status2397 POST /groups/:id/epics/:epic_iid/epics/child_epic_id2398 behaves like user does not have access2399 returns 403 when subepics feature is disabled2400 returns 404 not found error for a user without permissions to see the group2401 unauthenticated user2402 returns 401 unauthorized error2403 when subepics feature is enabled2404 when user is guest2405 returns 4032406 when user is developer2407 returns 201 status2408 when target epic cannot be read2409 returns 404 status2410 POST /groups/:id/epics/:epic_iid/epics2411 behaves like user does not have access2412 returns 403 when subepics feature is disabled2413 returns 404 not found error for a user without permissions to see the group2414 unauthenticated user2415 returns 401 unauthorized error2416 when subepics feature is enabled2417 when user is guest2418 returns 4032419 when user is developer2420 returns 201 status2421 does apply the confidential parameter if set2422 when the parent epic is confidential2423 copies the confidentiality status from the parent epic2424 does not allow creating a non-confidential sub-epic2425 and epic has errors2426 returns 400 error2427 PUT /groups/:id/epics/:epic_iid/epics/:child_epic_id2428 behaves like user does not have access2429 returns 403 when subepics feature is disabled2430 returns 404 not found error for a user without permissions to see the group2431 unauthenticated user2432 returns 401 unauthorized error2433 when subepics are enabled2434 when user has permissions to reorder epics2435 returns status 2002436 when user does not have permissions to reorder epics2437 returns status 4032438 DELETE /groups/:id/epics/:epic_iid/epics2439 behaves like user does not have access2440 returns 403 when subepics feature is disabled2441 returns 404 not found error for a user without permissions to see the group2442 unauthenticated user2443 returns 401 unauthorized error2444 when epics feature is enabled2445 when user is guest2446 returns 4032447 when user is developer2448 returns 200 status2449 when epics feature is disabled2450 when user is developer2451 returns 403 status2452Groups::EpicIssuesController2453 GET #index2454 behaves like unlicensed epics action2455 returns 403 status2456 when epics feature is enabled2457 when user has access to epic2458 returns status 2002459 returns the correct json2460 when user does not have access to epic2461 returns 404 status2462 POST #create2463 behaves like unlicensed epics action2464 returns 403 status2465 when epics feature is enabled2466 when user has permissions to create requested association2467 returns correct response for the correct issue reference2468 creates a new EpicIssue record2469 when user does not have permissions to create requested association2470 returns correct response for the correct issue reference2471 does not create a new EpicIssue record2472 DELETE #destroy2473 behaves like unlicensed epics action2474 returns 403 status2475 when epics feature is enabled2476 when user has permissions to delete the link2477 returns status 2002478 destroys the link2479 when user does not have permissions to delete the link2480 returns status 4032481 does not destroy the link2482 when the epic from the association does not equal epic from the path2483 returns status 4042484 does not destroy the link2485 when the epic_issue record does not exists2486 returns status 4042487 PUT #update2488 behaves like unlicensed epics action2489 returns 403 status2490 when epics feature is enabled2491 when user has permissions to admin the epic2492 returns status 2002493 updates the issue position value2494 when user does not have permissions to admin the epic2495 returns status 4032496 when the epic from the association does not equal epic from the path2497 returns status 4042498 when the epic_issue record does not exists2499 returns status 4042500API::ProjectApprovalRules2501 GET /projects/:id/approval_rules/:approval_rule_id2502 when the request is correct2503 matches the response schema2504 when the user is not authorized2505 does not display rule information2506 GET /projects/:id/approval_rules2507 when the request is correct2508 matches the response schema2509 private group filtering2510 excludes private groups if user has no access2511 includes private groups if user has access2512 report_approver rules2513 includes report_approver rules2514 when project is archived2515 when user has normal permissions2516 returns 4032517 when user has project admin permissions2518 allows access2519 POST /projects/:id/approval_rules2520 behaves like an API endpoint for creating project approval rule2521 when missing parameters2522 returns 400 status2523 when user is without access2524 returns 4032525 when the request is correct2526 returns 201 status2527 changes settings properly2528 when protected_branch_ids param is present2529 creates approval rule associated to specified protected branches2530 when creating a 'License-Check' approval rule2531 specifies a `rule_type` of `report_approver`2532 when creating a 'Vulnerability-Check' approval rule2533 specifies a `rule_type` of `report_approver`2534 when creating a 'Coverage-Check' approval rule2535 specifies a `rule_type` of `report_approver`2536 with valid scanners2537 returns 201 status2538 with valid severity_levels2539 returns 201 status2540 with vulnerabilities_allowed2541 returns 201 status2542 PUT /projects/:id/approval_rules/:approval_rule_id2543 behaves like an API endpoint for updating project approval rule2544 as a project admin2545 behaves like a user with access2546 sets approvers2547 when protected_branch_ids param is present2548 associates approval rule to specified protected branches2549 with valid scanners2550 returns 200 status2551 with valid severity_levels2552 returns 200 status2553 when approver already exists2554 when sending json data2555 removes all approvers if empty params are given2556 with vulnerabilities_allowed2557 returns 200 status2558 as a global admin2559 behaves like a user with access2560 sets approvers2561 when protected_branch_ids param is present2562 associates approval rule to specified protected branches2563 with valid scanners2564 returns 200 status2565 with valid severity_levels2566 returns 200 status2567 when approver already exists2568 when sending json data2569 removes all approvers if empty params are given2570 with vulnerabilities_allowed2571 returns 200 status2572 as a random user2573 returns 4032574 DELETE /projects/:id/approval_rules/:approval_rule_id2575 behaves like an API endpoint for deleting project approval rule2576 destroys2577 when approval rule not found2578 returns not found2579 when user is not eligible to delete2580 returns forbidden2581Groups::Security::CredentialsController2582 GET #index2583 when `credentials_inventory` feature is enabled2584 for a group that enforces group managed accounts2585 for a user with access to view credentials inventory2586DEPRECATION WARNING: Rendering actions with '.' in the name is deprecated: shared/_logo.svg (called from brand_header_logo at /builds/gitlab-org/gitlab/app/helpers/appearances_helper.rb:42)2587DEPRECATION WARNING: Rendering actions with '.' in the name is deprecated: shared/_logo.svg (called from brand_header_logo at /builds/gitlab-org/gitlab/app/helpers/appearances_helper.rb:42)2588DEPRECATION WARNING: Rendering actions with '.' in the name is deprecated: shared/_logo_type.svg (called from brand_header_logo_type at /builds/gitlab-org/gitlab/app/helpers/appearances_helper.rb:49)2589DEPRECATION WARNING: Rendering actions with '.' in the name is deprecated: shared/_logo_type.svg (called from brand_header_logo_type at /builds/gitlab-org/gitlab/app/helpers/appearances_helper.rb:49)2590 responds with 2002591 filtering by type of credential2592 no credential type specified2593 behaves like filtering by `personal_access_tokens`2594 is expected to contain exactly #<PersonalAccessToken id: 627, user_id: 1360, name: "PAT 627", revoked: false, expires_at: "2021-08-2...expire_notification_delivered: false, last_used_at: nil, after_expiry_notification_delivered: false>, #<PersonalAccessToken id: 628, user_id: 1359, name: "PAT 628", revoked: false, expires_at: "2021-08-2...expire_notification_delivered: false, last_used_at: nil, after_expiry_notification_delivered: false>, and #<PersonalAccessToken id: 629, user_id: 1360, name: "PAT 629", revoked: false, expires_at: "2021-08-2...expire_notification_delivered: false, last_used_at: nil, after_expiry_notification_delivered: false>2595 non-existent credential type specified2596 behaves like filtering by `personal_access_tokens`2597 is expected to contain exactly #<PersonalAccessToken id: 627, user_id: 1360, name: "PAT 627", revoked: false, expires_at: "2021-08-2...expire_notification_delivered: false, last_used_at: nil, after_expiry_notification_delivered: false>, #<PersonalAccessToken id: 630, user_id: 1359, name: "PAT 630", revoked: false, expires_at: "2021-08-2...expire_notification_delivered: false, last_used_at: nil, after_expiry_notification_delivered: false>, and #<PersonalAccessToken id: 631, user_id: 1360, name: "PAT 631", revoked: false, expires_at: "2021-08-2...expire_notification_delivered: false, last_used_at: nil, after_expiry_notification_delivered: false>2598 credential type specified as `personal_access_tokens`2599 behaves like filtering by `personal_access_tokens`2600 is expected to contain exactly #<PersonalAccessToken id: 627, user_id: 1360, name: "PAT 627", revoked: false, expires_at: "2021-08-2...expire_notification_delivered: false, last_used_at: nil, after_expiry_notification_delivered: false>, #<PersonalAccessToken id: 632, user_id: 1359, name: "PAT 632", revoked: false, expires_at: "2021-08-2...expire_notification_delivered: false, last_used_at: nil, after_expiry_notification_delivered: false>, and #<PersonalAccessToken id: 633, user_id: 1360, name: "PAT 633", revoked: false, expires_at: "2021-08-2...expire_notification_delivered: false, last_used_at: nil, after_expiry_notification_delivered: false>2601 user scope2602 does not show the credentials of a user outside the group2603 credential type specified as `ssh_keys`2604 filters by ssh keys2605 for a user without access to view credentials inventory2606 responds with 4042607 for a group that does not enforce group managed accounts2608 responds with 4042609 when `credentials_inventory` feature is disabled2610 returns 4042611 DELETE #destroy2612 behaves like credentials inventory delete SSH key2613 admin user2614 when `credentials_inventory` feature is enabled2615 and the ssh_key exists2616 and it removes the key2617 renders a success message2618 notifies the key owner2619 and it fails to remove the key2620 renders a failure message2621 and the ssh_key does not exist2622 renders a not found message2623 when `credentials_inventory` feature is disabled2624 returns 4042625 non-admin user2626 returns 4042627 PUT #revoke2628 when `credentials_inventory` feature is enabled2629 for a group that enforces group managed accounts2630 for a user with access to view credentials inventory2631 non-existent personal access token specified2632 behaves like responds with 4042633 is expected to respond with numeric status code not_found2634 with an existing personal access token2635 personal access token is already revoked2636 behaves like displays the flash success message2637 is expected to start with "Revoked personal access token "2638 personal access token is already expired2639 behaves like displays the flash success message2640 is expected to start with "Revoked personal access token "2641 does not have permissions to revoke the credential2642 behaves like responds with 4042643 is expected to respond with numeric status code not_found2644 personal access token is already revoked2645 behaves like displays the flash success message2646 is expected to start with "Revoked personal access token "2647 personal access token is already expired2648 behaves like displays the flash success message2649 is expected to start with "Revoked personal access token "2650 personal access token is not revoked or expired2651 informs the token owner2652 behaves like displays the flash success message2653 is expected to start with "Revoked personal access token "2654 when credentials_inventory_revocation_emails flag is disabled2655 does not inform the token owner2656 for a user without access to view credentials inventory2657 behaves like responds with 4042658 is expected to respond with numeric status code not_found2659 for a group that does not enforce group managed accounts2660 responds with 4042661 when `credentials_inventory` feature is disabled2662 behaves like responds with 4042663 is expected to respond with numeric status code not_found2664getting group information2665 Query group(fullPath)2666 when Group SSO is enforced2667 returns null data when not authorized2668 allows access via session2669 allows access via bearer token2670 when loading vulnerabilityGrades alongside with Vulnerability.userNotesCount2671 finds vulnerability grades for only projects that were added to instance security dashboard2672 returns a successful response2673 when loading multiple epics2674 can lookahead to eliminate N+1 queries2675 when loading release statistics2676 when the group is private2677 behaves like correct access to release statistics2678 when the user is not logged in2679 behaves like no access to release statistics2680 returns data about release utilization within the group2681 when the user is not a member of the group2682 behaves like no access to release statistics2683 returns data about release utilization within the group2684 when the user is at least a guest2685 behaves like full access to release statistics2686 when there are no releases2687 returns 0 for both statistics2688 when there are some releases2689 returns data about release utilization within the group2690 when the group is public2691 behaves like correct access to release statistics2692 when the user is not logged in2693 behaves like no access to release statistics2694 returns data about release utilization within the group2695 when the user is not a member of the group2696 behaves like no access to release statistics2697 returns data about release utilization within the group2698 when the user is at least a guest2699 behaves like full access to release statistics2700 when there are no releases2701 returns 0 for both statistics2702 when there are some releases2703 returns data about release utilization within the group2704 pagination2705 when default sorting2706 behaves like sorted paginated query2707 behaves like requires variables2708 shared example requires variables to be set2710 when sorting2711 sorts correctly2712 when paginating2713 paginates correctly2714Projects::MergeRequestsController2715 GET #edit2716 when the project requires code owner approval2717 does not cause an extra queries when code owner rules are present2718 does not cause extra queries when multiple code owner rules are present2719 GET #index2720 avoids N+12721API::ManagedLicenses2722 GET /projects/:id/managed_licenses2723 with license management not available2724 returns a forbidden status2725 with an authorized user with proper permissions2726 returns project managed licenses2727 with authorized user without read permissions2728 returns project managed licenses to users with read permissions2729 with unauthorized user2730 returns project managed licenses for public project2731 responses with 404 Not Found for not existing project2732 when project is private2733 responses with 404 Not Found2734 GET /projects/:id/managed_licenses/:managed_license_id2735 authorized user with proper permissions2736 returns project managed license details2737 returns project managed license details using the license name as key2738 responds with 404 Not Found if requesting non-existing managed license2739 authorized user with read permissions2740 returns project managed license details2741 unauthorized user2742 does not return project managed license details2743 POST /projects/:id/managed_licenses2744 authorized user with proper permissions2745 creates managed license2746 does not allow to duplicate managed license name2747 authorized user with read permissions2748 does not create managed license2749 authorized user without permissions2750 does not create managed license2751 unauthorized user2752 does not create managed license2753 PATCH /projects/:id/managed_licenses/:managed_license_id2754 authorized user with proper permissions2755 updates managed license data2756 responds with 404 Not Found if requesting non-existing managed license2757 authorized user with read permissions2758 does not update managed license2759 authorized user without permissions2760 does not update managed license2761 unauthorized user2762 does not update managed license2763 DELETE /projects/:id/managed_licenses/:managed_license_id2764 authorized user with proper permissions2765 deletes managed license2766 responds with 404 Not Found if requesting non-existing managed license2767 authorized user with read permissions2768 does not delete managed license2769 authorized user without permissions2770 does not delete managed license2771 unauthorized user2772 does not delete managed license2773Groups::ContributionAnalyticsController2774 #authorize_read_contribution_analytics!2775 when user has access to the group2776 when feature is available to the group2777 when user has access to the feature2778 renders 2002779 when user does not have access to the feature2780 renders 4032781 #check_contribution_analytics_available!2782 when feature is not available to the group2783 when promotions are on2784 renders promotions page2785 when promotions are not on2786 renders 4042787 with contributions2788 sets instance variables properly2789 returns member contributions JSON when format is JSON2790 includes projects in subgroups2791 excludes projects outside of the group2792 does not cause N+1 queries when the format is JSON2793 with views2794 avoids a N+1 query in #show2795 GET #show2796 behaves like disabled when using an external authorization service2797 works when the feature is not enabled2798 renders a 404 with a message when the feature is enabled2799 behaves like tracking unique visits2800 tracks unique visit if the format is HTML2801 tracks unique visit if DNT is not enabled2802 does not track unique visit if DNT is enabled2803 does not track unique visit if the format is JSON2804Groups::Epics::NotesController2805 GET index2806 responds with array of notes2807 with cross-reference system note that is not visible to the current user2808 does not return any note2809 POST create2810 returns status 302 for html2811 returns status 200 for json2812 when epic was promoted from issue2813 creates reply note for discussion2814 behaves like request exceeding rate limit2815 prevents from creating more notes2816 logs the event in auth.log2817 allows user in allow-list to create notes, even if the case is different2818 PUT update2819 updates the note2820 DELETE destroy2821 user is the author of a note2822 returns status 2002823 deletes the note2824 user is not the author of the note2825 returns status 4042826 POST toggle_award_emoji2827 toggles the award emoji2828 removes the already awarded emoji2829API::ProjectApprovals2830 GET /projects/:id/approvals2831 only shows approver groups that are visible to the user2832 when the request is correct2833 returns expected boolean values for merge request related attributes2834 returns 200 status2835 matches the response schema2836 POST /projects/:id/approvals2837 as a project admin2838 behaves like a user with access2839 when missing parameters2840 returns 400 status2841 when the request is correct2842 returns 201 status2843 matches the response schema2844 changes settings properly2845 only shows approver groups that are visible to the current user2846 as a global admin2847 behaves like a user with access2848 when missing parameters2849 returns 400 status2850 when the request is correct2851 returns 201 status2852 matches the response schema2853 changes settings properly2854 only shows approver groups that are visible to the current user2855 updates merge requests settings2856 behaves like updates merge requests settings when possible2857 permission_value: false, param_value: false, final_value: false2858 changes settings properly2859 permission_value: false, param_value: true, final_value: false2860 changes settings properly2861 permission_value: true, param_value: false, final_value: false2862 changes settings properly2863 permission_value: true, param_value: true, final_value: true2864 changes settings properly2865 behaves like updates merge requests settings when possible2866 permission_value: false, param_value: false, final_value: false2867 changes settings properly2868 permission_value: false, param_value: true, final_value: false2869 changes settings properly2870 permission_value: true, param_value: false, final_value: false2871 changes settings properly2872 permission_value: true, param_value: true, final_value: true2873 changes settings properly2874 behaves like updates merge requests settings when possible2875 permission_value: false, param_value: false, final_value: false2876 changes settings properly2877 permission_value: false, param_value: true, final_value: false2878 changes settings properly2879 permission_value: true, param_value: false, final_value: false2880 changes settings properly2881 permission_value: true, param_value: true, final_value: true2882 changes settings properly2883 as a user without access2884 returns 4032885API::GroupRepositoryStorageMoves2886 behaves like repository_storage_moves API2887 GET /groups/:id/repository_storage_moves2888 behaves like get container repository storage move list2889 returns container repository storage moves2890 avoids N+1 queries2891 returns the most recently created first2892 permissions2893 is expected to be allowed for :admin2894 is expected to be denied for :user2895 non-existent container2896 returns not found2897 GET /groups/:id/repository_storage_moves/:repository_storage_move_id2898 behaves like get single container repository storage move2899 returns a container repository storage move2900 non-existent container repository storage move2901 returns not found2902 permissions2903 is expected to be allowed for :admin2904 is expected to be denied for :user2905 non-existent container2906 returns not found2907 GET /group_repository_storage_moves2908 behaves like get container repository storage move list2909 returns container repository storage moves2910 avoids N+1 queries2911 returns the most recently created first2912 permissions2913 is expected to be allowed for :admin2914 is expected to be denied for :user2915 GET /group_repository_storage_moves/:repository_storage_move_id2916 behaves like get single container repository storage move2917 returns a container repository storage move2918 non-existent container repository storage move2919 returns not found2920 permissions2921 is expected to be allowed for :admin2922 is expected to be denied for :user2923 POST /groups/:id/repository_storage_moves2924 schedules a container repository storage move2925 permissions2926 is expected to be allowed for :admin2927 is expected to be denied for :user2928 destination_storage_name is missing2929 schedules a container repository storage move2930 when container does not exist2931 returns not found2932 POST /group_repository_storage_moves2933 schedules the worker2934 source_storage_name is invalid2935 gives an error2936 destination_storage_name is missing2937 schedules the worker2938 destination_storage_name is invalid2939 gives an error2940 normal user2941 is expected to be denied for :user2942Groups::Analytics::TasksByTypeController2943 GET #show2944 when valid parameters are given2945 succeeds2946 returns valid count2947 when `label_id` is missing2948 behaves like expects unprocessable_entity response2949 returns unprocessable_entity as response2950 behaves like parameter validation2951 when user access level is lower than reporter2952 returns forbidden as response2953 when license is missing2954 returns forbidden as response2955 when `created_after` parameter is invalid2956 behaves like expects unprocessable_entity response2957 returns unprocessable_entity as response2958 when `created_after` parameter is missing2959 behaves like expects unprocessable_entity response2960 returns unprocessable_entity as response2961 when `created_after` date is later than `created_before` date2962 behaves like expects unprocessable_entity response2963 returns unprocessable_entity as response2964 GET #top_labels2965 when valid parameters are given2966 succeeds2967 returns valid count2968 behaves like parameter validation2969 when user access level is lower than reporter2970 returns forbidden as response2971 when license is missing2972 returns forbidden as response2973 when `created_after` parameter is invalid2974 behaves like expects unprocessable_entity response2975 returns unprocessable_entity as response2976 when `created_after` parameter is missing2977 behaves like expects unprocessable_entity response2978 returns unprocessable_entity as response2979 when `created_after` date is later than `created_before` date2980 behaves like expects unprocessable_entity response2981 returns unprocessable_entity as response2982Registrations::GroupsController2983 GET #new2984 with an unauthenticated user2985 is expected to respond with numeric status code redirect2986 is expected to redirect to "/users/sign_in"2987 with an authenticated user2988 when on .com2989 is expected to respond with numeric status code ok2990 is expected to render template new2991 assigns the group variable to a new Group with the default group visibility2992 with different experiment rollouts2993 experiment_a: false, experiment_b: false, context: {:in_experiment_group_a=>false, :in_experiment_group_b=>false}2994 sets the correct context2995 experiment_a: false, experiment_b: true, context: {:in_experiment_group_a=>false, :in_experiment_group_b=>true}2996 sets the correct context2997 experiment_a: true, experiment_b: false, context: {:in_experiment_group_a=>true, :in_experiment_group_b=>false}2998 sets the correct context2999 experiment_a: true, experiment_b: true, context: {:in_experiment_group_a=>true, :in_experiment_group_b=>false}3000 sets the correct context3001 user without the ability to create a group3002 is expected to respond with numeric status code not_found3003 when not on .com3004 is expected to respond with numeric status code not_found3005 behaves like hides email confirmation warning3006 with an unconfirmed email address present3007 is expected not to set confirm warning for "unconfirmed@gitlab.com"3008 without an unconfirmed email address present3009 is expected not to set confirm warning for "user1575@example.org"3010 POST #create3011 with an unauthenticated user3012 is expected to respond with numeric status code redirect3013 is expected to redirect to "/users/sign_in"3014 with an authenticated user3015 when on .com3016 behaves like hides email confirmation warning3017 with an unconfirmed email address present3018 is expected not to set confirm warning for "unconfirmed@gitlab.com"3019 without an unconfirmed email address present3020 is expected not to set confirm warning for "user1577@example.org"3021 when group can be created3022 creates a group3023 tracks an event for the jobs_to_be_done experiment3024 when in trial onboarding - apply_trial_for_trial_onboarding_flow3025 when trial can be applied3026 with redirection to projects page3027 is expected to redirect to "/users/sign_up/projects/new?namespace_id=2199&trial=false&trial_onboarding_flow=true"3028 when failing to apply trial3029 is expected to render template new3030 when not in the trial onboarding - registration_onboarding_flow3031 calls the record user for learn gitlab experiment3032 when trial_during_signup - trial_during_signup_flow3033 when a user chooses a trial - create_lead_and_apply_trial_flow3034 when successfully creating a lead and applying trial3035 tracks for the force_company_trial experiment3036 with redirection to projects page3037 is expected to redirect to "/users/sign_up/projects/new?namespace_id=2200&trial=true"3038 when failing to create a lead and apply trial3039 is expected to render template new3040 when user chooses no trial3041 redirects user to projects page3042 does not call trial creation methods3043 selectivly tracks for the force_company_trial experiment30451st Try error in ./ee/spec/controllers/registrations/groups_controller_spec.rb:315:3046(#<ForceCompanyTrialExperiment:0x000000000038DC2C @name=force_company_trial @context={:user=>#<User id:1548 @user1300>}>).track(:create_group, {:namespace=>an instance of Group})3047 expected: 1 time with arguments: (:create_group, {:namespace=>an instance of Group})3048 received: 0 times3050RSpec::Retry: 2nd try ./ee/spec/controllers/registrations/groups_controller_spec.rb:3153051 when the group cannot be created3052 does not create a group3053 does not call call the successful flow3054 is expected to respond with numeric status code ok3055 is expected to render template new3056 when not on .com3057 is expected to respond with numeric status code not_found3058Projects::ProtectedEnvironmentsController3059 #POST create3060 with valid access and params3061 with valid params3062 creates a new ProtectedEnvironment3063 sets a flash3064 redirects to CI/CD settings3065 with invalid params3066 does not create a new ProtectedEnvironment3067 redirects to CI/CD settings3068 with invalid access3069 renders 4043070 #PUT update3071 when the user is authorized3072 finds the requested protected environment3073 updates the protected environment3074 is successful3075 when the user is not authorized3076 is not successful3077 #DELETE destroy3078 when the user is authorized3079 finds the requested protected environment3080 deletes the requested protected environment3081 redirects to CI/CD settings3082 when the user is not authorized3083 is not successful3084API::Commits3085 POST /projects/:id/repository/commits3086 create3087 a new file that does not match a codeowners entry3088 creates the commit3089 a new file that matches a codeowner entry3090 when codeowners are required3091 behaves like handling the codeowners interaction3092 does not create a new validator3093 when push_rules_supersede_code_owners is false3094 creates a new validator with expected parameters3095 is expected to include "CodeOwners error msg"3096 delete3097 a deleted file that does not match a codeowner entry3098 creates the commit3099 a deleted file that matches a codeowner entry3100 behaves like handling the codeowners interaction3101 does not create a new validator3102 when push_rules_supersede_code_owners is false3103 creates a new validator with expected parameters3104 is expected to include "CodeOwners error msg"3105 move3106 a deleted file that does not match a codeowner entry3107 creates the commit3108 a moved file that matches a codeowner entry3109 behaves like handling the codeowners interaction3110 does not create a new validator3111 when push_rules_supersede_code_owners is false3112 creates a new validator with expected parameters3113 is expected to include "CodeOwners error msg"3114 POST :id/repository/commits/:sha/cherry_pick3115 no file in the cherry-picked commit matches a codeowner entry3116 cherry-picks the ref commit3117 a file in the cherry-picked commit matches a codeowner entry3118 when codeowners are required3119 behaves like handling the codeowners interaction3120 does not create a new validator3121 when push_rules_supersede_code_owners is false3122 creates a new validator with expected parameters3123 is expected to include "CodeOwners error msg"3124 POST :id/repository/commits/:sha/revert3125 no file in the revert commit matches a codeowner entry3126 reverts the ref commit3127 a file in the revert commit matches a codeowner entry3128 when codeowners are required3129 behaves like handling the codeowners interaction3130 does not create a new validator3131 when push_rules_supersede_code_owners is false3132 creates a new validator with expected parameters3133 is expected to include "CodeOwners error msg"3134AutocompleteController3135 GET users3136 project members3137 GET #users that can push to protected branches3138 returns authorized users3139 GET #users that can push code3140 returns authorized users3141 GET #users that can push to protected branches, including the current user3142 returns authorized users3143 groups3144 while fetching all groups belonging to a project3145 returns a single group3146 while fetching all groups belonging to a project the current user cannot access3147 is expected to be not found3148 while fetching all groups belonging to an invalid project ID3149 is expected to be not found3150 GET project_routes3151 as admin3152 while searching for a project by namespace3153 returns the matching routes3154 while searching for a project by path3155 returns the matching routes3156 as project owner3157 while searching for a project by namespace3158 returns the matching routes3159 while searching for a project by path3160 returns the matching routes3161 while searching for nothing3162 returns the matching routes3163 GET namespace_routes3164 as admin3165 while searching for a namespace by group path3166 returns the matching routes3167 while searching for a namespace by user path3168 returns the matching routes3169 as a user3170 while searching for a namespace by path3171 returns the matching routes3172 as group member3173 while searching for a namespace by path3174 returns the matching routes3175 while searching for nothing3176 returns the matching routes3177Admin::ClustersController3178 behaves like cluster metrics3179 GET #metrics3180 functionality3181 can query Prometheus3182 queries cluster metrics3183 when response has content3184 returns prometheus query response3185 when response has no content3186 returns prometheus query response3187 without Prometheus3188 returns not found3189 cannot query Prometheus3190 returns not found3191 GET environments3192 functionality3193 responds successfully3194 security3195 is expected to be allowed for admin. Expected: 200,201,204,302 Got: 2003196 is expected to be denied for user. Expected: 401,404 Got: 4043197 is expected to be denied for external. Expected: 401,404 Got: 4043198 GET show3199 expires etag cache to force reload environments list3200Projects::ApproversController3201 #destroy3202 on a merge request3203 when the user cannot update approvers because they do not have access3204 returns a 4043205 does not destroy any approvers3206 when the user cannot update approvers because of the project setting3207 returns a 4043208 does not destroy any approvers3209 when the user can update approvers3210 destroys the provided approver3211 on a project3212 when the user cannot update approvers because they do not have access3213 returns a 4043214 does not destroy any approvers3215 when the user can update approvers3216 destroys the provided approver3217getting epics information3218 query for epics which start with an iid3219 when a valid iidStartsWith query is provided3220 returns the expected epics3221 when invalid iidStartsWith query is provided3222 fails with negative number3223 fails with string3224 fails if query contains line breaks3225 query for epics by time frame3226 when start_date and end_date are present3227 returns epics within timeframe3228 when only start_date is present3229 raises error3230 when only end_date is present3231 raises error3232 query for epics with events3233 can lookahead to prevent N+1 queries3234Creating a DAST Site Profile3235 behaves like an on-demand scan mutation when user cannot run an on-demand scan3236 when a user does not have access to the project3237 behaves like a mutation that returns a top-level access error3238 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"]3239 when a user does not have access to run a dast scan on the project3240 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 behaves like an on-demand scan mutation when user can run an on-demand scan3243 returns an empty errors array3244 updates the dast_site_profile3245 when on demand scan licensed feature is not available3246 behaves like a mutation that returns a top-level access error3247 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"]3248 when there is a validation error3249 behaves like a mutation that returns errors in the response3250 is expected to contain exactly "There was a validation error"3251 when the dast_site_profile does not exist3252 behaves like a mutation that returns errors in the response3253 is expected to contain exactly "DastSiteProfile not found"3254 when wrong type of global id is passed3255 behaves like a mutation that returns top-level errors3256 is expected to eq ["Variable $dastSiteProfileUpdateInput of type DastSiteProfileUpdateInput! was provided invalid value for id (\"gid://gitlab/DastSite/11\" does not represent an instance of DastSiteProfile)"]3257 when the dast_site_profile belongs to a different project3258 behaves like a mutation that returns a top-level access error3259 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"]3260API::GroupVariables3261 GET /groups/:id/variables/:key3262 when there are two variables with the same key on different environments3263 when filter[environment_scope] is not passed3264 returns 4093265 when filter[environment_scope] is passed3266 returns the variable3267 when wrong filter[environment_scope] is passed3268 returns not_found3269 when there is only one variable with provided key3270 returns not_found3271 POST /groups/:id/variables3272 scoped variables3273 :group_scoped_ci_variables licensed feature is available3274 creates a variable with the provided environment scope3275 a variable with the same key and scope exists already3276 does not create a variable3277 :group_scoped_ci_variables licensed feature is not available3278 creates a variable, but does not use the provided environment scope3279 a variable with the same key and scope exists already3280 does not create a variable3281 PUT /groups/:id/variables/:key3282 scoped variables3283 :group_scoped_ci_variables licensed feature is available3284 updates the variable3285 a variable with the same key and scope exists already3286 does not update the variable3287 :group_scoped_ci_variables licensed feature is not available3288 does not update the variable3289API::Deployments3290 POST /projects/:id/deployments3291 when deploying to a protected environment that requires maintainer access3292 returns a 403 when the user is a developer3293 creates the deployment when the user is a maintainer3294 when deploying to a protected environment that requires developer access3295 returns a 403 when the user is a guest3296 creates the deployment when the user is a developer3297 PUT /projects/:id/deployments/:deployment_id3298 when updating a deployment for a protected environment that requires maintainer access3299 returns a 403 when the user is a developer3300 updates the deployment when the user is a maintainer3301 when updating a deployment for a protected environment that requires developer access3302 returns a 403 when the user is a guest3303 updates the deployment when the user is a developer3304Mutations::Epics::Update3305 when the user does not have permission3306 does not update the epic3307 behaves like a mutation that returns a top-level access error3308 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"]3309 when the user has permission3310 when epics are disabled3311 behaves like a mutation that returns top-level errors3312 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"]3313 when epics are enabled3314 updates the epic3315 when closing the epic3316 closes open epic3317 when reopening the epic3318 allows epic to be reopend3319 when changing labels of the epic3320 adds and removes labels correctly3321 when there are ActiveRecord validation errors3322 does not update the epic3323 behaves like a mutation that returns errors in the response3324 is expected to contain exactly "Title can't be blank"3325 when the list of attributes is empty3326 behaves like a mutation that returns top-level errors3327 is expected to eq ["The list of epic attributes is empty"]3328getting Incident Management escalation policies3329 without project permissions3330 is expected to be nil3331 behaves like a working graphql query3332 returns a successful response3333 with project permissions3334 with unavailable feature3335 is expected to be empty3336 behaves like a working graphql query3337 returns a successful response3338 without escalation policies3339 is expected to be empty3340 behaves like a working graphql query3341 returns a successful response3342 with escalation policies3343 returns the correct properties of the escalation policy3344 behaves like a working graphql query3345 returns a successful response3346 requesting single policy3347 returns the correct properties of the escalation policy3348 behaves like a working graphql query3349 returns a successful response3350Update of user activity3351 behaves like updating of user activity3352 without an authenticated user3353 does not set the last activity cookie3354 with an authenticated user3355 with a POST request3356 does not set the last activity cookie3357 on GET to /group/project/-/integrations/jira/issues3358 updates the last activity date3359 when calling it twice3360 updates last_activity_on just once3361 when last_activity_on is nil3362 updates the last activity date3363 when last_activity_on is stale3364 updates the last activity date3365 when last_activity_on is up to date3366 does not try to update it3367Projects::PathLocksController3368 GET #index3369 displays the lock paths3370 when the user does not have access3371 does not allow access3372 POST #toggle3373 when LFS is enabled3374 when locking a file3375 locks the file3376 locks the file in LFS3377 tries to create the PathLock only once3378 when locking a directory3379 locks the directory3380 does not locks the directory through LFS3381 when file does not exist3382 locks the file3383 does not lock the file in LFS3384 when unlocking a file3385 with files3386 unlocks the file3387 unlocks the file in LFS3388 when file does not exist3389 unlocks the file3390 does not unlock the file in LFS3391 when unlocking a directory3392 unlocks the directory3393 does not call the LFS unlock service3394 when LFS is not enabled3395 locks the file3396 doesn't lock the file in LFS3397 unlocks the file3398 when the user does not have access3399 does not allow access3400API::MergeTrains3401 GET /projects/:id/merge_trains3402 when there are two merge trains3403 returns merge trains sorted by id in descending order3404 does not have N+1 problem3405 when sort is specified3406 returns merge trains sorted by id in ascending order3407 when scope is specified3408 when scope is active3409 returns active merge trains3410 when scope is complete3411 returns complete merge trains3412 when user is guest3413 forbids the request3414Projects::VariablesController3415 PATCH #update3416 when creating variable3417 logs audit event3418 logs variable creation3419 when updating variable protection3420 logs audit event3421 logs variable protection update3422 when destroying variable3423 logs audit event3424 logs variable destruction3425get list of epics for an epic board list3426 sorting and pagination3427 behaves like sorted paginated query3428 behaves like requires variables3429 shared example requires variables to be set3431 when sorting3432 sorts correctly3433 when paginating3434 paginates correctly3435 with filters3436 finds only epics matching the filter3437 when negated3438 finds only epics matching the negated filter3439Groups::DependencyProxyForContainersController3440 GET #manifest3441 behaves like when sso is enabled for the group3442 group owner3443 behaves like a successful manifest pull3444 sends a file3445 returns Content-Disposition: attachment3446 group reporter3447 when git check is enforced3448 returns not found3449 with an active session3450 behaves like a successful manifest pull3451 sends a file3452 returns Content-Disposition: attachment3453 when git check is not enforced3454 behaves like a successful manifest pull3455 sends a file3456 returns Content-Disposition: attachment3457 GET #blob3458 behaves like when sso is enabled for the group3459 group owner3460 behaves like a successful blob pull3461 sends a file3462 returns Content-Disposition: attachment3463 group reporter3464 when git check is enforced3465 returns not found3466 with an active session3467 behaves like a successful blob pull3468 sends a file3469 returns Content-Disposition: attachment3470 when git check is not enforced3471 behaves like a successful blob pull3472 sends a file3473 returns Content-Disposition: attachment3474API::Todos3475 GET /todos3476 when there is an Epic Todo3477 is expected to respond with numeric status code ok3478 avoids N+1 queries3479 includes the Epic Todo in the response3480 POST :id/epics/:epic_iid/todo3481 when epics feature is disabled3482 returns 403 forbidden error3483 when epics feature is enabled3484 creates a todo on an epic3485 returns 304 there already exist a todo on that epic3486 returns 404 if the epic is not found3487 returns an error if the epic is not accessible3488API::Internal::AppSec::Dast::SiteValidations3489 POST /internal/dast/site_validations/:id/transition3490 when a job token header is not set3491 returns 4013492 when user token is set3493 returns 400 and a contextual error message3494 when a job token header is set3495 when user does not have access to the site validation3496 returns 4033497 when site validation does not exist3498 returns 4043499 when site validation and job are associated with different projects3500 returns 4003501 when the job project belongs to the same job token scope3502 returns 400 and a contextual error message3503 when site validation exists3504 when the licensed feature is not available3505 returns 4033506 when the feature flag is disabled3507 returns 404 and a contextual error message3508 when user has access to the site validation3509 when the state transition is unknown3510 returns 400 and a contextual error message3511 when the state transition is invalid3512 returns 400 and a contextual error message3513 when the state transition is valid3514 updates the record3515 behaves like it transitions3516 returns 200 and the new state3517 calls the underlying transition method: #start3518 behaves like it transitions3519 returns 200 and the new state3520 calls the underlying transition method: #fail_op3521 behaves like it transitions3522 returns 200 and the new state3523 calls the underlying transition method: #retry3524 behaves like it transitions3525 returns 200 and the new state3526 calls the underlying transition method: #pass3527Groups::ScimOauthController3528 when the feature is configured3529 GET #show3530 without token3531 shows an empty response3532 with token3533 shows the token3534 shows the url3535 POST #create3536 without token3537 creates a new SCIM token record3538 json3539 shows the token3540 shows the url3541 with token3542 does not create a new SCIM token record3543 updates the token3544 json3545 shows the token3546 shows the url3547API::ProjectClusters3548 POST /projects/:id/clusters/user3549 when user sets specific environment scope3550 creates a cluster with that specific environment3551 when does not set an specific environment scope3552 sets default environment3553 when another cluster exists3554 responds with 2013555 allows multiple clusters to be associated to project3556 PUT /projects/:id/clusters/:cluster_id3557 With a GCP cluster3558 updates the environment scope3559 With an user cluster3560 updates the environment scope3561Emails::Requirements3562 #import_requirements_csv_email3563 shows number of successful requirements imported3564 shows error when file is invalid3565 shows line numbers with errors3566 with header and footer3567 behaves like appearance header and footer enabled3568 contains header and footer3569 behaves like appearance header and footer not enabled3570 does not contain header and footer3571 #requirements_csv_email3572 is expected to eq "project573 | Exported requirements"3573 is expected to contain exactly "user1976@example.org"3574 is expected to have text "Your CSV export of 10 requirements from project"3575 is expected to have text "Your CSV export of 10 requirements from project"3576 when truncated3577 is expected to have text "This attachment has been truncated to avoid exceeding the maximum allowed attachment size of 15 MB."3578Groups::IterationsController3579 index3580 iteration_license_available: false, role: :developer, status: :not_found3581 behaves like returning response status3582 returns not_found3583 iteration_license_available: true, role: :none, status: :not_found3584 behaves like returning response status3585 returns not_found3586 iteration_license_available: true, role: :guest, status: :success3587 behaves like returning response status3588 returns success3589 iteration_license_available: true, role: :developer, status: :success3590 behaves like returning response status3591 returns success3592 show3593 iteration_license_available: false, role: :developer, status: :not_found3594 behaves like returning response status3595 returns not_found3596 iteration_license_available: true, role: :none, status: :not_found3597 behaves like returning response status3598 returns not_found3599 iteration_license_available: true, role: :guest, status: :success3600 behaves like returning response status3601 returns success3602 iteration_license_available: true, role: :developer, status: :success3603 behaves like returning response status3604 returns success3605 new3606 iteration_license_available: false, role: :developer, status: :not_found3607 behaves like returning response status3608 returns not_found3609 iteration_license_available: true, role: :none, status: :not_found3610 behaves like returning response status3611 returns not_found3612 iteration_license_available: true, role: :guest, status: :not_found3613 behaves like returning response status3614 returns not_found3615 iteration_license_available: true, role: :developer, status: :success3616 behaves like returning response status3617 returns success3618 edit3619 iteration_license_available: false, role: :developer, status: :not_found3620 behaves like returning response status3621 returns not_found3622 iteration_license_available: true, role: :none, status: :not_found3623 behaves like returning response status3624 returns not_found3625 iteration_license_available: true, role: :guest, status: :not_found3626 behaves like returning response status3627 returns not_found3628 iteration_license_available: true, role: :developer, status: :success3629 behaves like returning response status3630 returns success3631getting compliance frameworks for a collection of projects3632 querying a single project3633 avoids N+1 queries3634 contains the expected compliance framework3635 projects can have a compliance framework3636 contains the correct number of compliance frameworks3637 projects that share the same compliance framework3638 shares the same compliance framework id3639Query.project(fullPath).dastSiteProfile3640 when a user does not have access to the project3641 returns a null project3642 when a user does not have access to dast_site_profiles3643 returns a null dast_site_profile3644 when a user has access to dast_site_profiles3645 returns a dast_site_profile3646 when the wrong type of global id is supplied3647 returns a null dast_site_profile3648 when on demand scan licensed feature is not available3649 returns a null dast_site_profile3650 when there is no associated dast_site_validation3651 returns a none validation status3652Projects::RequirementsManagement::RequirementsController3653 GET #index3654 private project3655 with authorized user3656 when feature is available3657 renders the index template3658 when feature is not available3659 behaves like response with 404 status3660 returns 4043661 with unauthorized user3662 when feature is available3663 behaves like response with 404 status3664 returns 4043665 with anonymous user3666 returns 3023667 public project3668 with requirements disabled3669 behaves like response with 404 status3670 returns 4043671 with requirements visible to project members3672 with authorized user3673 renders the index template3674 with unauthorized user3675 behaves like response with 404 status3676 returns 4043677 with requirements visible to everyone3678 with anonymous user3679 renders the index template3680API::Ci::Variables3681 POST /projects/:id/variables3682 logs audit event3683 logs variable creation3684 PUT /projects/:id/variables/:key3685 logs audit event3686 logs variable protection update3687 DELETE /projects/:id/variables/:key3688 logs audit event3689 logs variable destruction3690Mutations::Boards::Create3691 behaves like boards create mutation3692 when the user does not have permission3693 does not create the board3694 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 the parent (project_path or group_path) param is given3698 when everything is ok3699 creates the board3700 returns the created board3701 when hide_backlog_list parameter is true3702 returns the board with correct hide_backlog_list field3703 when hide_closed_list parameter is true3704 returns the board with correct hide_closed_list field3705 when the Boards::CreateService returns an error response3706 does not create a board3707 returns an error3708 when neither project_path nor group_path param is given3709 does not create the board3710 behaves like a mutation that returns top-level errors3711 is expected to eq ["Exactly one of group_path or project_path arguments is required"]3712Create a Compliance Framework3713 framework feature is unlicensed3714 behaves like a mutation that returns errors in the response3715 is expected to contain exactly "Not permitted to create framework"3716 pipeline configuration feature is unlicensed3717 behaves like a mutation that returns errors in the response3718 is expected to contain exactly "Pipeline configuration full path feature is not available"3719 feature is licensed3720 current_user is namespace owner3721 behaves like a mutation that creates a compliance framework3722 creates a new compliance framework3723 returns the newly created framework3724 current_user is group owner3725 behaves like a mutation that creates a compliance framework3726 creates a new compliance framework3727 returns the newly created framework3728 current_user is not namespace owner3729 does not create a new compliance framework3730 behaves like a mutation that returns errors in the response3731 is expected to contain exactly "Not permitted to create framework"3732Projects::Security::VulnerabilityReportController3733 when the "Security & Compliance" feature is disabled3734 is expected to respond with numeric status code not_found3735 behaves like SecurityDashboardsPermissions3736 access for all actions3737 when security dashboard feature is disabled3738 returns 4043739 when security dashboard feature is enabled3740 when user has guest access3741 denies access3742 when user has developer access3743 grants access3744 GET #index3745 when project has no vulnerabilities3746 renders empty state3747 when project has vulnerabilities3748 renders dashboard with vulnerability metadata3749Creating a DAST Scanner Profile3750 behaves like an on-demand scan mutation when user cannot run an on-demand scan3751 when a user does not have access to the project3752 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 a user does not have access to run a dast scan on the project3755 behaves like a mutation that returns a top-level access error3756 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"]3757 behaves like an on-demand scan mutation when user can run an on-demand scan3758 returns an empty errors array3759 returns the dast_scanner_profile id3760 sets default values of omitted properties3761 when on demand scan licensed feature is not available3762 behaves like a mutation that returns a top-level access error3763 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"]3764 when dast_scanner_profile exists3765 returns errors3766Setting weight of an issue3767 returns an error if the user is not allowed to update the issue3768 when weight is a number3769 updates the issue weight3770 when weight is null3771 updates the issue weight3772 when weight is not given3773 returns an error3774 when weight is not an integer3775 raises invalid value error3776getting notes for an epic3777 behaves like exposing regular notes on a noteable in GraphQL3778 for regular notes3779 includes the note3780 behaves like a working graphql query3781 returns a successful response3782 for discussions3783 includes all discussion notes3784 behaves like a working graphql query3785 returns a successful response3786API::GroupMilestones3787 matches V4 EE-specific response schema for a list of issues3788 behaves like group and project milestone burndowns3789 GET /groups/:id/milestones/:milestone_id/burndown_events3790 returns burndown events list3791 returns 404 when user is not authorized to read milestone3792Query.instanceSecurityDashboard.projects3793 with logged in user3794 requesting projects in the dashboard3795 behaves like a working graphql query3796 returns a successful response3797 finds only projects that were added to instance security dashboard3798 when loading vulnerabilityGrades alongside with Vulnerability.userNotesCount3799 behaves like a working graphql query3800 returns a successful response3801 finds vulnerability grades for only projects that were added to instance security dashboard3802 with no user3803 behaves like a working graphql query3804 returns a successful response3805 is expected to be nil3806RootController3807 GET #index3808 when user is not logged in3809 on a Geo primary node3810 redirects to the sign-in page3811 when a custom home page URL is defined3812 redirects the user to the custom home page URL3813 on a Geo secondary node3814 redirects to the sign-in page3815 when a custom home page URL is defined3816 redirects to the sign-in page3817 with a user3818 who has customized their dashboard setting for operations3819 when licensed3820 redirects to operations dashboard3821 when unlicensed3822 renders the default dashboard3823Groups::Analytics::CycleAnalyticsController3824 when the license is available3825 succeeds3826 increments usage counter3827 renders `show` template when feature flag is enabled3828 when the initial, default value stream is requested3829 renders the default in memory value stream3830 when invalid name is given3831 renders 404 error3832 when the license is missing3833 renders 403 error3834 when non-existent group is given3835 renders 403 error3836 with group and value stream params3837 builds request params with group and value stream3838Add an issue to an Epic3839 when epics feature is disabled3840 behaves like mutation without access3841 does not add issue to the epic3842 behaves like a mutation that returns a top-level access error3843 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"]3844 when epics feature is enabled3845 when the user is a group member3846 adds the issue to the epic3847 when the user is not a group member3848 behaves like mutation without access3849 does not add issue to the epic3850 behaves like a mutation that returns a top-level access error3851 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"]3852Projects::Settings::IntegrationsController3853 sets correct services list3854 enables SlackSlashCommands and disables GitlabSlackApplication3855 enables GitlabSlackApplication and disables SlackSlashCommands3856 without a license key3857 behaves like endpoint with some disabled integrations3858 has some disabled integrations3859 with a license key3860 when checking if namespace plan is enabled3861 behaves like endpoint with some disabled integrations3862 has some disabled integrations3863 when checking if namespace plan is not enabled3864 behaves like endpoint without disabled integrations3865 does not have disabled integrations3866Reposition and move issue within board lists3867 when user can admin epic3868 updates issue position and epic3869 when user sets nil epic3870 updates issue position and epic is unassigned3871 when user can not admin epic3872 fails with error3873parse alert payload fields3874 is expected to eq [{"label"=>"title", "path"=>["title"], "type"=>"STRING"}, {"label"=>"started_at", "path"=>["started_a...", "path"=>["arr", 1], "type"=>"STRING"}, {"label"=>"arr[0]", "path"=>["arr", 0], "type"=>"STRING"}]3875 behaves like a working graphql query3876 returns a successful response3877 without user permission3878 behaves like query with error3879 returns an error3880 without license3881 behaves like query with error3882 returns an error3883 with invalid payload JSON3884 behaves like query with error3885 returns an error3886 with non-Hash JSON3887 behaves like query with error3888 returns an error3889Query.vulnerabilities.issueLinks3890 when invalid linkType argument is provided3891 errors with a string3892 errors with a number3893 errors with lowercased `created`3894 errors with lowercased `related`3895 when valid linkType argument is provided3896 returns a list of VulnerabilityIssueLink with `CREATED` linkType3897 returns a list of VulnerabilityIssueLink with `RELATED` linkType3898 when no arguments are provided3899 returns a list of all VulnerabilityIssueLink3900ProfilesController3901 PUT update3902 updating name3903 when `disable_name_update_for_users` feature is available3904 when the ability to update thier name is not disabled for users3905 behaves like a user can update their name3906 updates their name3907 behaves like a user can update their name3908 updates their name3909 when the ability to update their name is disabled for users3910 as a regular user3911 does not update their name3912 as an admin in admin mode3913 behaves like a user can update their name3914 updates their name3915 when `disable_name_update_for_users` feature is not available3916 behaves like a user can update their name3917 updates their name3918 behaves like a user can update their name3919 updates their name3920API::Invitations EE Invitations3921 POST /groups/:id/invitations3922 when the group is restricted by admin signup restrictions3923 behaves like admin signup restrictions email error3924 when restricted by admin signup restriction - denylist3925 behaves like restricted email error3926 returns an http error response and the validation message3927 when restricted by admin signup restriction - allowlist3928 behaves like restricted email error3929 returns an http error response and the validation message3930 when restricted by admin signup restriction - email restrictions3931 behaves like restricted email error3932 returns an http error response and the validation message3933 when the group is restricted by group signup restriction - allowed domains for signup3934 behaves like restricted email error3935 returns an http error response and the validation message3936 POST /projects/:id/invitations3937 when the project is restricted by admin signup restrictions3938 behaves like admin signup restrictions email error3939 when restricted by admin signup restriction - denylist3940 behaves like restricted email error3941 returns an http error response and the validation message3942 when restricted by admin signup restriction - allowlist3943 behaves like restricted email error3944 returns an http error response and the validation message3945 when restricted by admin signup restriction - email restrictions3946 behaves like restricted email error3947 returns an http error response and the validation message3948API::Experiments3949 GET /experiments3950 when on .com3951 returns a 401 for anonymous users3952 returns a 403 for users3953 returns a 403 for non human users3954 for gitlab team members3955 returns the feature flag details3956 understands the state of the feature flag and what that means for an experiment3957 the null_hypothesis as a canary3958 runs and tracks the expected events3959 returns a 400 if experimentation seems broken3960 publishes into a collection of experiments that have been run in the request (PENDING: requires gitlab-experiment >= 0.5.4 -- resolved in a follow up MR)3961 when not .com3962 returns a 403 for users3963Projects::IncidentManagement::OncallSchedulesController3964 GET #index3965 with read permissions3966 renders index with 200 status code3967 with admin permissions3968 renders index with 200 status code3969 unauthorized3970 responds with 4043971 with unavailable feature3972 responds with 4043973Projects::Security::CorpusManagementController3974 GET #show3975 when the "Security & Compliance" feature is disabled3976 is expected to respond with numeric status code not_found3977 feature available3978 user authorized3979 can access page3980 user not authorized3981 sees a 404 error3982 feature not available3983 license doesnt't support the feature3984 sees a 404 error3985Update list limit metrics3986 returns an error if the list cannot be found3987 updates the list limit metrics for limit metric all_metrics3988 updates the list limit metrics for limit metric issue_count3989 updates the list limit metrics for limit metric issue_weights3990 the current_user is not allowed to update the issue3991 returns an error3992 the list_id is not a valid ListID3993 behaves like an invalid argument to the mutation3994 behaves like a mutation that returns top-level errors3995 is expected to contain exactly (include "invalid value for listId")3996SitemapController3997 #show3998 when not Gitlab.com?3999 returns :not_found4000 when Gitlab.com?4001 with an authenticated user4002 when the sitemap generation raises an error4003 returns an xml error4004 when the sitemap was created suscessfully4005 returns sitemap4006Projects::ClusterAgentsController4007 GET #show4008 when user is unauthorized4009 shows 4044010 when user is authorized4011 without premium plan4012 shows 4044013 with premium plan4014 renders content4015Mutations::Boards::EpicBoards::Destroy4016 when the user does not have permission4017 does not destroy the board4018 behaves like a mutation that returns a top-level access error4019 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"]4020 when the user has permission4021 when everything is ok4022 destroys the board4023 returns an empty board4024 when there is only 1 board for the parent4025 does not destroy the board4026 returns an error and not nil board4027getting a compliance frameworks list for a project4028 when the project has no compliance framework assigned4029 is an empty array4030 when the project has a compliance framework assigned4031 includes its name4032MergeRequestReviewer4033 when requesting information about MR interactions4034 when the user does not have any applicable rules4035 returns null data4036 when the user has interacted4037 returns appropriate data4038Groups::Analytics::CoverageReportsController4039 without permissions4040 GET index4041 responds 4034042 with permissions4043 without a license4044 GET index4045 responds 403 because the feature is not licensed4046 GET index4047 responds 200 with CSV coverage data4048 executes the same number of queries regardless of the number of records returned4049 when ref_path is nil4050 responds HTTP 2004051 with an invalid format4052 responds 4044053Groups::ClustersController4054 GET #environments4055 avoids N+1 database queries4056Groups::Analytics::CiCdAnalyticsController4057 GET #show4058 renders the #show page4059 when the current user doesn't have access4060 when the user is a guest4061 behaves like returns a 4034062 is expected to respond with numeric status code forbidden4063 when the user doesn't belong to the group4064 behaves like returns a 4034065 is expected to respond with numeric status code forbidden4066 when the user is not signed in4067 redirects the user to the login page4068 when the :group_ci_cd_analytics feature isn't licensed4069 behaves like returns a 4034070 is expected to respond with numeric status code forbidden4071 when the :group_ci_cd_analytics_page feature flag is disabled4072 returns a 4044073Projects::Analytics::CycleAnalytics::SummaryController4074 GET "show"4075 when cycle_analytics_for_projects feature is available4076 filters by author username4077 when cycle_analytics_for_projects feature is not available4078 does not apply the filter4079 GET "time_summary"4080 when cycle_analytics_for_projects feature is available4081 succeeds4082 returns correct value4083 when analytics_disabled features are disabled4084 renders 4044085 when user is not part of the project4086 renders 4044087 when the feature is not available4088 renders 4044089Admin::UserPermissionExportsController4090 #index4091 when user is authorized4092 when successful4093 responds with :ok4094 invokes the Export Service4095 has the appropriate data4096 when Export fails4097 responds appropriately4098 when user is unauthorised4099 responds with :not_found4100Groups::TodosController4101 POST create4102 when epic is not confidential4103 when epics are available4104 behaves like todos actions4105 when authorized4106 creates todo4107 returns todo path and pending count4108 when not authorized for project/group4109 does not create todo for resource that user has no access to4110 does not create todo when user is not logged in4111 when epics are not available4112 behaves like todo for inaccessible resource4113 does not create todo because resource can not be found4114 when the user can not access confidential epic in public group4115 behaves like todo for inaccessible resource4116 does not create todo because resource can not be found4117Profiles::PreferencesController4118 PATCH update4119 when security dashboard feature enabled4120 and valid group view choice is submitted4121 changes the user's preferences4122 and an invalid group view choice is submitted4123 responds with an error message4124 when security dashboard feature is disabled4125 when security dashboard feature enabled4126 is expected not to change `user.reload.group_view_security_dashboard?`4127Deleting an iteration4128 when the user does not have permission4129 behaves like a mutation that returns a top-level access error4130 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"]4131 when the user has permission4132 when iterations feature is disabled4133 behaves like a mutation that returns top-level errors4134 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"]4135 when iterations feature is enabled4136 deletes the iteration4137 when required arguments are missing4138 returns error about required argument4139Delete a compliance framework4140 feature is unlicensed4141 does not destroy a compliance framework4142 behaves like a mutation that returns top-level errors4143 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"]4144 when licensed4145 current_user is namespace owner4146 has no errors4147 destroys a compliance framework4148 current_user is not namespace owner4149 does not destroy a compliance framework4150 behaves like a mutation that returns top-level errors4151 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"]4152Projects::Settings::SlacksController4153 GET show4154 when valid CSRF token is provided4155 calls service and redirects with no alerts if result is successful4156 calls service and redirects with the alert if there is error4157 when no CSRF token is provided4158 returns 4034159Create a label or backlog board list4160 behaves like board lists create request4161 the user is not allowed to read board lists4162 behaves like a mutation that returns a top-level access error4163 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"]4164 when user has permissions to admin board lists4165 backlog list4166 creates the list4167 label list4168 creates the list4169API::ProjectMilestones4170 matches V4 EE-specific response schema for a list of issues4171 behaves like group and project milestone burndowns4172 GET /projects/:id/milestones/:milestone_id/burndown_events4173 returns burndown events list4174 returns 404 when user is not authorized to read milestone4175getting Incident Management escalation policies4176 includes expected data4177 avoids N+1 queries4178 with multiple rules4179 orders rules by time and status4180getting Incident Management on-call shifts4181 updating name only4182 updates the rotation4183 removing participants4184 updates the rotation and removes participants4185 adding participants4186 updates the rotation and adds participants4187 errors4188 user cannot be found4189 raises an error4190Delete a cluster agent4191 without project permissions4192WARNING: Using `expect { }.not_to raise_error(SpecificErrorClass)` risks false positives, since literally any other error would cause the expectation to pass, including those raised by Ruby (e.g. `NoMethodError`, `NameError` and `ArgumentError`), meaning the code you are intending to test may not even get reached. Instead consider using `expect { }.not_to raise_error` or `expect { }.to raise_error(DifferentSpecificErrorClass)`. This message can be suppressed by setting: `RSpec::Expectations.configuration.on_potential_false_positives = :nothing`. Called from /builds/gitlab-org/gitlab/ee/spec/requests/api/graphql/mutations/clusters/agents/delete_spec.rb:29:in `block (3 levels) in <top (required)>'.4193 does not delete cluster agent4194 behaves like a mutation that returns top-level errors4195 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"]4196 with premium plan and project permissions4197 deletes a cluster agent4198Creating a new on-call schedule4199 create a new on-call schedule4200 without required argument project_path4201 behaves like an invalid argument to the mutation4202 behaves like a mutation that returns top-level errors4203 is expected to contain exactly (include "invalid value for projectPath")4204 without required argument name4205 behaves like an invalid argument to the mutation4206 behaves like a mutation that returns top-level errors4207 is expected to contain exactly (include "invalid value for name")4208 without required argument timezone4209 behaves like an invalid argument to the mutation4210 behaves like a mutation that returns top-level errors4211 is expected to contain exactly (include "invalid value for timezone")4212Projects::Settings::RepositoryController4213 GET show4214 push rule4215 is created4216 is connected to project_settings4217 unlicensed4218 is not created4219Admin::PushRulesController4220 #update4221 updates sample push rule4222 links push rule with application settings4223 push rules unlicensed4224 returns 4044225 #show4226 returns 2004227 push rules unlicensed4228 returns 4044229API::IssueLinks4230 POST /links4231 when creating a blocked relationship4232 when feature is enabled4233 returns 201 status and contains the expected link response4234 when feature is disabled4235 returns 4034236API::Ci::Runner4237 PUT /api/v4/jobs/:id4238 tracks CI minutes usage of running job4239 when CI minutes usage is exceeded4240 drops the job4241 when CI minutes usage is not exceeded4242 does not drop the job4243OmniAuth Kerberos SPNEGO4244DEPRECATION WARNING: Rendering actions with '.' in the name is deprecated: errors/kerberos_denied.html.haml (called from render at /builds/gitlab-org/gitlab/app/controllers/application_controller.rb:124)4245 asks for an SPNEGO token4246 when an SPNEGO token is provided4247 passes the token to spnego_negotiate!4248 when the final SPNEGO token is provided4249 redirects to the omniauth callback4250 stores the users principal name in the session4251 send the final SPNEGO response4252BoardsResponses4253 #serialize_as_json4254 without milestone or iteration4255 serialises properly4256 with milestone4257 serialises properly4258 with iteration4259 serialises properly4260Profiles::PersonalAccessTokensController4261 #index4262 expired yet active personal access token4263 when token expiry is enforced4264 licensed: true, application_setting: true4265 behaves like does not include in list of active tokens4266 is expected not to include #<PersonalAccessToken id: 991, user_id: 2168, name: "PAT 991", revoked: false, expires_at: "2021-08-1...expire_notification_delivered: false, last_used_at: nil, after_expiry_notification_delivered: false>4267 licensed: false, application_setting: true4268 behaves like does not include in list of active tokens4269 is expected not to include #<PersonalAccessToken id: 992, user_id: 2169, name: "PAT 992", revoked: false, expires_at: "2021-08-1...expire_notification_delivered: false, last_used_at: nil, after_expiry_notification_delivered: false>4270 licensed: false, application_setting: false4271 behaves like does not include in list of active tokens4272 is expected not to include #<PersonalAccessToken id: 993, user_id: 2170, name: "PAT 993", revoked: false, expires_at: "2021-08-1...expire_notification_delivered: false, last_used_at: nil, after_expiry_notification_delivered: false>4273 when token expiry is NOT enforced4274 is expected to include #<PersonalAccessToken id: 994, user_id: 2171, name: "PAT 994", revoked: false, expires_at: "2021-08-1...expire_notification_delivered: false, last_used_at: nil, after_expiry_notification_delivered: false>4275API::Features4276 POST /feature4277 when running on a Geo primary node4278 creates Geo cache invalidation event4279 when licensed feature name is given4280 returns bad request4281 when force=1 is set4282 allows to change state4283 DELETE /feature/:name4284 when running on a Geo primary node4285 creates Geo cache invalidation event4286API::Branches4287 PUT /projects/:id/repository/branches/:branch/protect4288 when authenticated as a maintainer4289 when protected branch already exists4290 when no one can push4291 updates 'developers_can_push' without removing the 'no_one' access level4292Admin::SessionsController4293 #create4294 when using two-factor authentication4295 when OTP authentication fails4296 behaves like an auditable failed authentication4297 log an audit event4298 when U2F authentication fails4299 behaves like an auditable failed authentication4300 log an audit event4301 when WebAuthn authentication fails4302 behaves like an auditable failed authentication4303 log an audit event4304Groups::VariablesController4305 PATCH #update4306 scoped variables are available4307 updates the environment scope4308 scoped variables are not available4309 does not update the environment scope4310Groups::UsageQuotasController4311 Pushing the `additionalRepoStorageByNamespace` feature flag to the frontend4312 when additional_repo_storage_by_namespace_enabled is false4313 is disabled4314 when additional_repo_storage_by_namespace_enabled is true4315 is enabled4316Query.project(fullPath).apiFuzzingCiConfiguration4317 when the user can read vulnerabilities for the project4318 returns scan modes and scan profiles4319 when the user cannot read vulnerabilities for the project4320 returns nil4321Removing an escalation policy4322 removes the escalation policy4323API::ProjectSnapshots4324 GET /projects/:id/snapshot4325 requests project repository raw archive from Geo primary as Geo secondary4326devopsAdoptionEnabledNamespaces4327 returns measurement objects4328Admin::ApplicationsController4329 POST #create4330 creates the application4331Emails::Epics4332 adds email methods to Notify4333Knapsack report was generated. Preview:4334{4335 "ee/spec/controllers/projects/merge_requests_controller_spec.rb": 85.02174443900003,4336 "ee/spec/requests/api/projects_spec.rb": 75.41007927299995,4337 "ee/spec/requests/api/members_spec.rb": 56.47523475899999,4338 "ee/spec/requests/api/epics_spec.rb": 45.335785628,4339 "ee/spec/requests/api/issues_spec.rb": 31.705555683999933,4340 "ee/spec/requests/api/groups_spec.rb": 35.374010619000046,4341 "ee/spec/controllers/registrations/projects_controller_spec.rb": 41.47337417899996,4342 "ee/spec/requests/api/wikis_spec.rb": 27.17636170600008,4343 "ee/spec/controllers/boards/lists_controller_spec.rb": 29.72083352599998,4344 "ee/spec/controllers/projects/licenses_controller_spec.rb": 21.274687116999985,4345 "ee/spec/controllers/projects/vulnerability_feedback_controller_spec.rb": 23.945811538000044,4346 "ee/spec/requests/api/merge_request_approval_rules_spec.rb": 20.928035849000025,4347 "ee/spec/requests/api/merge_request_approvals_spec.rb": 21.033945499000083,4348 "ee/spec/controllers/groups/clusters_controller_spec.rb": 19.824009128000057,4349 "ee/spec/requests/api/merge_requests_spec.rb": 22.327266408000014,4350 "ee/spec/requests/api/epic_links_spec.rb": 15.523574595000014,4351 "ee/spec/controllers/groups/epic_issues_controller_spec.rb": 20.269092484999987,4352 "ee/spec/requests/api/project_approval_rules_spec.rb": 12.660311992999937,4353 "ee/spec/requests/groups/security/credentials_controller_spec.rb": 14.879257554999981,4354 "ee/spec/requests/api/graphql/group_query_spec.rb": 15.280257256999903,4355 "ee/spec/requests/projects/merge_requests_controller_spec.rb": 16.006139932999986,4356 "ee/spec/requests/api/managed_licenses_spec.rb": 9.879355847000056,4357 "ee/spec/controllers/groups/contribution_analytics_controller_spec.rb": 12.25979638399997,4358 "ee/spec/controllers/groups/epics/notes_controller_spec.rb": 11.508214285999998,4359 "ee/spec/requests/api/project_approvals_spec.rb": 7.876073525000038,4360 "ee/spec/requests/api/group_repository_storage_moves_spec.rb": 6.459803500000021,4361 "ee/spec/controllers/groups/analytics/tasks_by_type_controller_spec.rb": 9.620009084999992,4362 "ee/spec/controllers/registrations/groups_controller_spec.rb": 6.364534999000057,4363 "ee/spec/controllers/projects/protected_environments_controller_spec.rb": 9.189214682999932,4364 "ee/spec/requests/api/commits_spec.rb": 6.724810725999987,4365 "ee/spec/controllers/autocomplete_controller_spec.rb": 6.942119232999858,4366 "ee/spec/controllers/admin/clusters_controller_spec.rb": 5.711127410000017,4367 "ee/spec/controllers/projects/approvers_controller_spec.rb": 7.227095484000074,4368 "ee/spec/requests/api/graphql/epics/epic_resolver_spec.rb": 6.64462084999991,4369 "ee/spec/requests/api/graphql/mutations/dast_site_profiles/update_spec.rb": 5.930053156000213,4370 "ee/spec/requests/api/group_variables_spec.rb": 5.044802568000023,4371 "ee/spec/requests/api/deployments_spec.rb": 5.908692602999963,4372 "ee/spec/requests/api/graphql/mutations/epics/update_spec.rb": 6.54511652799988,4373 "ee/spec/requests/api/graphql/project/incident_management/escalation_policies_spec.rb": 4.399258730000156,4374 "ee/spec/requests/user_activity_spec.rb": 5.724566212999889,4375 "ee/spec/controllers/projects/path_locks_controller_spec.rb": 5.450847185000157,4376 "ee/spec/requests/api/merge_trains_spec.rb": 6.8068414839999605,4377 "ee/spec/controllers/ee/projects/variables_controller_spec.rb": 3.5595654100000047,4378 "ee/spec/requests/api/graphql/boards/epic_board_list_epics_query_spec.rb": 5.992385409999997,4379 "ee/spec/controllers/groups/dependency_proxy_for_containers_controller_spec.rb": 4.38635605699983,4380 "ee/spec/requests/api/todos_spec.rb": 6.726016049999998,4381 "ee/spec/requests/api/internal/app_sec/dast/site_validations_spec.rb": 3.0460522089999813,4382 "ee/spec/controllers/groups/scim_oauth_controller_spec.rb": 3.3234881719999976,4383 "ee/spec/requests/api/project_clusters_spec.rb": 4.4778679199998805,4384 "ee/spec/mailers/emails/requirements_spec.rb": 4.381726242000013,4385 "ee/spec/controllers/groups/iterations_controller_spec.rb": 3.234000281999897,4386 "ee/spec/requests/api/graphql/projects/compliance_frameworks_spec.rb": 4.119674996999947,4387 "ee/spec/requests/api/graphql/project/dast_site_profile_spec.rb": 2.049358466000058,4388 "ee/spec/controllers/projects/requirements_management/requirements_controller_spec.rb": 3.285887754999976,4389 "ee/spec/requests/api/ci/variables_spec.rb": 2.9830488899999636,4390 "ee/spec/requests/api/graphql/mutations/boards/create_spec.rb": 2.738765588999968,4391 "ee/spec/requests/api/graphql/mutations/compliance_management/frameworks/create_spec.rb": 1.5995209300001534,4392 "ee/spec/controllers/projects/security/vulnerability_report_controller_spec.rb": 4.224035497000159,4393 "ee/spec/requests/api/graphql/mutations/dast_scanner_profiles/create_spec.rb": 4.046885946999964,4394 "ee/spec/requests/api/graphql/mutations/issues/set_weight_spec.rb": 3.3548771210000723,4395 "ee/spec/requests/api/graphql/group/epic/notes_spec.rb": 3.1492825269999685,4396 "ee/spec/requests/api/group_milestones_spec.rb": 2.694913945000053,4397 "ee/spec/requests/api/graphql/instance_security_dashboard_spec.rb": 2.991842932000054,4398 "ee/spec/controllers/ee/root_controller_spec.rb": 0.7056811130000824,4399 "ee/spec/controllers/groups/analytics/cycle_analytics_controller_spec.rb": 2.901957110000012,4400 "ee/spec/requests/api/graphql/mutations/epics/add_issue_spec.rb": 2.649288487999911,4401 "ee/spec/controllers/projects/settings/integrations_controller_spec.rb": 3.3260234439999294,4402 "ee/spec/requests/api/graphql/mutations/boards/issues/issue_move_list_spec.rb": 2.7438764840001113,4403 "ee/spec/requests/api/graphql/project/alert_management/payload_fields_spec.rb": 1.539136130000088,4404 "ee/spec/requests/api/graphql/vulnerabilities/issue_links_spec.rb": 2.1622037360000377,4405 "ee/spec/controllers/profiles_controller_spec.rb": 0.9321597770001517,4406 "ee/spec/requests/api/invitations_spec.rb": 2.0923206139998456,4407 "ee/spec/requests/api/experiments_spec.rb": 1.428077832000099,4408 "ee/spec/controllers/projects/incident_management/oncall_schedules_controller_spec.rb": 1.3131808720002027,4409 "ee/spec/requests/projects/security/corpus_management_controller_spec.rb": 2.6609405209999295,4410 "ee/spec/requests/api/graphql/mutations/boards/lists/update_limit_metrics_spec.rb": 1.8015918849998798,4411 "ee/spec/controllers/sitemap_controller_spec.rb": 0.24933938200001649,4412 "ee/spec/requests/projects/cluster_agents_controller_spec.rb": 1.4719124100001864,4413 "ee/spec/requests/api/graphql/mutations/boards/epic_boards/destroy_spec.rb": 1.7424252339999384,4414 "ee/spec/requests/api/graphql/project/compliance_frameworks_spec.rb": 1.3547421989999293,4415 "ee/spec/requests/api/graphql/merge_request_reviewer_spec.rb": 1.1805183799999668,4416 "ee/spec/controllers/groups/analytics/coverage_reports_controller_spec.rb": 3.5391664490000494,4417 "ee/spec/requests/groups/clusters_controller_spec.rb": 1.8702510769999208,4418 "ee/spec/controllers/groups/analytics/ci_cd_analytics_controller_spec.rb": 0.8821539790001225,4419 "ee/spec/controllers/projects/analytics/cycle_analytics/summary_controller_spec.rb": 2.210931223999978,4420 "ee/spec/requests/admin/user_permission_exports_controller_spec.rb": 0.7444218859998273,4421 "ee/spec/controllers/groups/todos_controller_spec.rb": 1.5642352649999793,4422 "ee/spec/controllers/ee/profiles/preferences_controller_spec.rb": 0.5706138460000147,4423 "ee/spec/requests/api/graphql/mutations/iterations/delete_spec.rb": 1.6507938689999264,4424 "ee/spec/requests/api/graphql/mutations/compliance_management/frameworks/destroy_spec.rb": 1.0487613180000608,4425 "ee/spec/controllers/projects/settings/slacks_controller_spec.rb": 1.6403187479997996,4426 "ee/spec/requests/api/graphql/mutations/boards/epic_lists/create_spec.rb": 0.9651583840000058,4427 "ee/spec/requests/api/project_milestones_spec.rb": 2.136349010999993,4428 "ee/spec/requests/api/graphql/project/incident_management/escalation_policy/rules_spec.rb": 1.6380119479999848,4429 "ee/spec/requests/api/graphql/mutations/incident_management/oncall_rotation/update_spec.rb": 2.13337865099993,4430 "ee/spec/requests/api/graphql/mutations/clusters/agents/delete_spec.rb": 1.30174447100012,4431 "ee/spec/requests/api/graphql/mutations/incident_management/oncall_schedule/create_spec.rb": 1.4300353920000362,4432 "ee/spec/controllers/projects/settings/repository_controller_spec.rb": 1.6234162850000757,4433 "ee/spec/controllers/admin/push_rules_controller_spec.rb": 1.560238044000016,4434 "ee/spec/requests/api/issue_links_spec.rb": 1.1558357460000934,4435 "ee/spec/requests/api/ci/runner/jobs_put_spec.rb": 1.188111291000041,4436 "ee/spec/requests/omniauth_kerberos_spnego_spec.rb": 0.4333457529999123,4437 "ee/spec/controllers/concerns/boards_responses_spec.rb": 1.1501477450001403,4438 "ee/spec/controllers/ee/profiles/personal_access_tokens_controller_spec.rb": 0.6882689369999753,4439 "ee/spec/requests/api/features_spec.rb": 0.7024424090000139,4440 "ee/spec/requests/api/branches_spec.rb": 0.7302523129999372,4441 "ee/spec/controllers/ee/admin/sessions_controller_spec.rb": 0.7211653319998277,4442 "ee/spec/controllers/ee/groups/variables_controller_spec.rb": 0.6294158860000607,4443 "ee/spec/controllers/groups/usage_quotas_controller_spec.rb": 0.749421423000058,4444 "ee/spec/requests/api/graphql/app_sec/fuzzing/api/ci_configuration_type_spec.rb": 0.78061913800002,4445 "ee/spec/requests/api/graphql/mutations/incident_management/escalation_policy/destroy_spec.rb": 0.7653174960000797,4446 "ee/spec/requests/api/project_snapshots_spec.rb": 0.5094164100000853,4447 "ee/spec/requests/api/graphql/analytics/devops_adoption/enabled_namespaces_spec.rb": 0.4961803480000526,4448 "ee/spec/controllers/admin/applications_controller_spec.rb": 0.4889592370000173,4449 "ee/spec/mailers/emails/epics_spec.rb": 0.27026544699992884450}4451Knapsack global time execution for tests: 15m 52s4452Pending: (Failures listed here are expected and do not affect your suite's status)4453 1) API::Wikis GET /groups/:id/wikis when wiki is available only for team members when user is guest returns 404 Group Not Found4454 # Temporarily skipped with xcontext4455 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1234456 2) API::Wikis GET /groups/:id/wikis when wiki is available only for team members when user is developer return the empty list of wiki pages4457 # Temporarily skipped with xcontext4458 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:384459 3) API::Wikis GET /groups/:id/wikis when wiki is available only for team members when user is developer when wiki has pages returns the list of wiki pages without content4460 # Temporarily skipped with xcontext4461 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:104462 4) API::Wikis GET /groups/:id/wikis when wiki is available only for team members when user is developer when wiki has pages returns the list of wiki pages with content4463 # Temporarily skipped with xcontext4464 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:234465 5) API::Wikis GET /groups/:id/wikis when wiki is available only for team members when user is maintainer return the empty list of wiki pages4466 # Temporarily skipped with xcontext4467 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:384468 6) API::Wikis GET /groups/:id/wikis when wiki is available only for team members when user is maintainer when wiki has pages returns the list of wiki pages without content4469 # Temporarily skipped with xcontext4470 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:104471 7) API::Wikis GET /groups/:id/wikis when wiki is available only for team members when user is maintainer when wiki has pages returns the list of wiki pages with content4472 # Temporarily skipped with xcontext4473 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:234474 8) API::Wikis GET /groups/:id/wikis/:slug when wiki is available only for team members when user is guest returns 404 Group Not Found4475 # Temporarily skipped with xcontext4476 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1234477 9) API::Wikis GET /groups/:id/wikis/:slug when wiki is available only for team members when user is developer returns the wiki page4478 # Temporarily skipped with xcontext4479 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:474480 10) API::Wikis GET /groups/:id/wikis/:slug when wiki is available only for team members when user is developer when page does not exist returns 404 Wiki Page Not Found4481 # Temporarily skipped with xcontext4482 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1154483 11) API::Wikis GET /groups/:id/wikis/:slug when wiki is available only for team members when user is maintainer returns the wiki page4484 # Temporarily skipped with xcontext4485 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:474486 12) API::Wikis GET /groups/:id/wikis/:slug when wiki is available only for team members when user is maintainer when page does not exist returns 404 Wiki Page Not Found4487 # Temporarily skipped with xcontext4488 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1154489 13) API::Wikis POST /groups/:id/wikis when wiki is available only for team members when user is guest returns 404 Group Not Found4490 # Temporarily skipped with xcontext4491 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1234492 14) API::Wikis POST /groups/:id/wikis when wiki is available only for team members when user is developer creates the wiki page4493 # Temporarily skipped with xcontext4494 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:584495 15) API::Wikis POST /groups/:id/wikis when wiki is available only for team members when user is developer responds with validation error on empty title4496 # Temporarily skipped with xcontext4497 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:714498 16) API::Wikis POST /groups/:id/wikis when wiki is available only for team members when user is developer responds with validation error on empty content4499 # Temporarily skipped with xcontext4500 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:714501 17) API::Wikis POST /groups/:id/wikis when wiki is available only for team members when user is maintainer creates the wiki page4502 # Temporarily skipped with xcontext4503 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:584504 18) API::Wikis POST /groups/:id/wikis when wiki is available only for team members when user is maintainer responds with validation error on empty title4505 # Temporarily skipped with xcontext4506 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:714507 19) API::Wikis POST /groups/:id/wikis when wiki is available only for team members when user is maintainer responds with validation error on empty content4508 # Temporarily skipped with xcontext4509 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:714510 20) API::Wikis PUT /group/:id/wikis/:slug when wiki is available only for team members when user is guest returns 404 Group Not Found4511 # Temporarily skipped with xcontext4512 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1234513 21) API::Wikis PUT /group/:id/wikis/:slug when wiki is available only for team members when user is developer updates the wiki page4514 # Temporarily skipped with xcontext4515 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:844516 22) API::Wikis PUT /group/:id/wikis/:slug when wiki is available only for team members when user is developer updates with wiki with missing title4517 # Temporarily skipped with xcontext4518 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:964519 23) API::Wikis PUT /group/:id/wikis/:slug when wiki is available only for team members when user is developer updates with wiki with missing content4520 # Temporarily skipped with xcontext4521 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:964522 24) API::Wikis PUT /group/:id/wikis/:slug when wiki is available only for team members when user is developer updates with wiki with missing format4523 # Temporarily skipped with xcontext4524 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:964525 25) API::Wikis PUT /group/:id/wikis/:slug when wiki is available only for team members when user is developer when page does not exist returns 404 Wiki Page Not Found4526 # Temporarily skipped with xcontext4527 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1154528 26) API::Wikis PUT /group/:id/wikis/:slug when wiki is available only for team members when user is maintainer updates the wiki page4529 # Temporarily skipped with xcontext4530 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:844531 27) API::Wikis PUT /group/:id/wikis/:slug when wiki is available only for team members when user is maintainer updates with wiki with missing title4532 # Temporarily skipped with xcontext4533 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:964534 28) API::Wikis PUT /group/:id/wikis/:slug when wiki is available only for team members when user is maintainer updates with wiki with missing content4535 # Temporarily skipped with xcontext4536 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:964537 29) API::Wikis PUT /group/:id/wikis/:slug when wiki is available only for team members when user is maintainer updates with wiki with missing format4538 # Temporarily skipped with xcontext4539 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:964540 30) API::Wikis PUT /group/:id/wikis/:slug when wiki is available only for team members when user is maintainer when page is not existing returns 404 Wiki Page Not Found4541 # Temporarily skipped with xcontext4542 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1154543 31) API::Wikis DELETE /groups/:id/wikis/:slug when wiki is available only for team members when user is guest returns 404 Group Not Found4544 # Temporarily skipped with xcontext4545 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1234546 32) API::Wikis DELETE /groups/:id/wikis/:slug when wiki is available only for team members when user is developer returns 403 Forbidden4547 # Temporarily skipped with xcontext4548 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1074549 33) API::Wikis DELETE /groups/:id/wikis/:slug when wiki is available only for team members when user is maintainer returns 204 No Content4550 # Temporarily skipped with xcontext4551 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1314552 34) API::Wikis POST /groups/:id/wikis/attachments when wiki is available only for team members when user is guest returns 404 Group Not Found4553 # Temporarily skipped with xcontext4554 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1234555 35) API::Wikis POST /groups/:id/wikis/attachments when wiki is available only for team members when user is developer pushes attachment to the wiki repository4556 # Temporarily skipped with xcontext4557 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1374558 36) API::Wikis POST /groups/:id/wikis/attachments when wiki is available only for team members when user is developer responds with validation error on empty file4559 # Temporarily skipped with xcontext4560 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1464561 37) API::Wikis POST /groups/:id/wikis/attachments when wiki is available only for team members when user is developer responds with validation error on invalid temp file4562 # Temporarily skipped with xcontext4563 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1564564 38) API::Wikis POST /groups/:id/wikis/attachments when wiki is available only for team members when user is developer is backward compatible with regular multipart uploads4565 # Temporarily skipped with xcontext4566 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1664567 39) API::Wikis POST /groups/:id/wikis/attachments when wiki is available only for team members when user is maintainer pushes attachment to the wiki repository4568 # Temporarily skipped with xcontext4569 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1374570 40) API::Wikis POST /groups/:id/wikis/attachments when wiki is available only for team members when user is maintainer responds with validation error on empty file4571 # Temporarily skipped with xcontext4572 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1464573 41) API::Wikis POST /groups/:id/wikis/attachments when wiki is available only for team members when user is maintainer responds with validation error on invalid temp file4574 # Temporarily skipped with xcontext4575 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1564576 42) API::Wikis POST /groups/:id/wikis/attachments when wiki is available only for team members when user is maintainer is backward compatible with regular multipart uploads4577 # Temporarily skipped with xcontext4578 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1664579 43) API::Experiments GET /experiments when on .com for gitlab team members the null_hypothesis as a canary publishes into a collection of experiments that have been run in the request4580 # requires gitlab-experiment >= 0.5.4 -- resolved in a follow up MR4581 Failure/Error:4582 expect(ApplicationExperiment.published_experiments).to eq(4583 'null_hypothesis' => {4584 excluded: false,4585 experiment: 'null_hypothesis',4586 key: 'abc123',4587 variant: 'candidate'4588 }4589 )4590 expected: {"null_hypothesis"=>{:excluded=>false, :experiment=>"null_hypothesis", :key=>"abc123", :variant=>"candidate"}}4591 got: {}4592 (compared using ==)4593 Diff:4594 @@ -1,2 +1 @@4595 -"null_hypothesis" => {:excluded=>false, :experiment=>"null_hypothesis", :key=>"abc123", :variant=>"candidate"},4596 # ./ee/spec/requests/api/experiments_spec.rb:167:in `block (6 levels) in <top (required)>'4597 # ./spec/spec_helper.rb:390:in `block (3 levels) in <top (required)>'4598 # ./spec/support/sidekiq_middleware.rb:9:in `with_sidekiq_server_middleware'4599 # ./spec/spec_helper.rb:381:in `block (2 levels) in <top (required)>'4600 # ./spec/spec_helper.rb:377:in `block (3 levels) in <top (required)>'4601 # ./lib/gitlab/application_context.rb:31:in `with_raw_context'4602 # ./spec/spec_helper.rb:377:in `block (2 levels) in <top (required)>'4603Finished in 15 minutes 54 seconds (files took 53.96 seconds to load)46041811 examples, 0 failures, 43 pending4605Wed 18 Aug 2021 10:48:09 AM UTC4607Not uploading cache ruby-gems-v1-4 due to policy4608Not uploading cache gitaly-ruby-gems-v1-4 due to policy4610Uploading artifacts...4611coverage/: found 5 matching files and directories 4612WARNING: crystalball/: no matching files 4613deprecations/: found 11 matching files and directories 4614knapsack/: found 3 matching files and directories 4615rspec_flaky/: found 4 matching files and directories 4616rspec_profiling/: found 1 matching files and directories 4617WARNING: tmp/capybara/: no matching files 4618tmp/memory_test/: found 2 matching files and directories 4619log/*.log: found 18 matching files and directories 4620Uploading artifacts as "archive" to coordinator... ok id=1512822037 responseStatus=201 Created token=BuBHaKzj4621Uploading artifacts...4622junit_rspec.xml: found 1 matching files and directories 4623Uploading artifacts as "junit" to coordinator... ok id=1512822037 responseStatus=201 Created token=BuBHaKzj4625Job succeeded