rspec-ee integration pg12 5/6
Passed Started
by
@stanhu

Stan Hu
1Running with gitlab-runner 15.6.0~beta.186.ga889181a (a889181a)2 on blue-4.private.runners-manager.gitlab.com/gitlab.com/gitlab-org tDjA3Sp33 feature flags: FF_USE_FASTZIP:true, FF_USE_IMPROVED_URL_MASKING:true6Using Docker executor with image registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-2.7.patched-golang-1.18-node-16.14-postgresql-12:rubygems-3.2-git-2.36-lfs-2.9-chrome-103-yarn-1.22-graphicsmagick-1.3.36 ...7Starting service postgres:12 ...8Pulling docker image postgres:12 ...9Using docker image sha256:c5abf812eff57d99cd4ae9b4d688261207b59905c5d0ca50c5e57f75669dbf10 for postgres:12 with digest postgres@sha256:a66060c3beab11e6f8eac5581c28df727539653a3c11e860847b14149e678d3e ...10Starting service redis:6.0-alpine ...11Pulling docker image redis:6.0-alpine ...12Using docker image sha256:83c577984741ab5b2e78640e0524852998d539ea3961e6d56680f336371f5c83 for redis:6.0-alpine with digest redis@sha256:459e91c5fe54134da1601ef85a4d9bc40c953862737fdfbe8f3c2b2a3eb6b20b ...13Starting service elasticsearch:7.17.6 ...14Pulling docker image elasticsearch:7.17.6 ...15Using docker image sha256:5fad10241ffd65d817ed0ddfaf6e87eee1f7dc2a7db33db1047835560ea71fda for elasticsearch:7.17.6 with digest elasticsearch@sha256:6c128de5d01c0c130a806022d6bd99b3e4c27a9af5bfc33b6b81861ae117d028 ...16Waiting for services to be up and running (timeout 30 seconds)...17Authenticating with credentials from job payload (GitLab Registry)18Pulling docker image registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-2.7.patched-golang-1.18-node-16.14-postgresql-12:rubygems-3.2-git-2.36-lfs-2.9-chrome-103-yarn-1.22-graphicsmagick-1.3.36 ...19Using docker image sha256:5c5404ecc69273636c3ef49645be715ef30ea99e51ad146a2efbeac2a1875f9c for registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-2.7.patched-golang-1.18-node-16.14-postgresql-12:rubygems-3.2-git-2.36-lfs-2.9-chrome-103-yarn-1.22-graphicsmagick-1.3.36 with digest registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-2.7.patched-golang-1.18-node-16.14-postgresql-12@sha256:b032fe79dc0bf3ebfaeb610c82eacc500fbd0ec6e01889444011cf5a72b4135d ...21Running on runner-tdja3sp3-project-278964-concurrent-0 via runner-tdja3sp3-private-1668120399-236987ee...23$ eval "$CI_PRE_CLONE_SCRIPT"24Fetching changes with git depth set to 20...25Initialized empty Git repository in /builds/gitlab-org/gitlab/.git/26Created fresh repository.27remote: Enumerating objects: 134695, done. 28remote: Counting objects: 100% (134695/134695), done. 29remote: Compressing objects: 100% (87197/87197), done. 30remote: Total 134695 (delta 60835), reused 93449 (delta 42513), pack-reused 0 31Receiving objects: 100% (134695/134695), 116.52 MiB | 26.20 MiB/s, done.32Resolving deltas: 100% (60835/60835), done.34 * [new ref] refs/pipelines/691761438 -> refs/pipelines/69176143835 * [new branch] master -> origin/master36Checking out 0a62f4a6 as master...37Skipping Git submodules setup38$ git remote set-url origin "${CI_REPOSITORY_URL}"40Checking cache for ruby-gems-debian-bullseye-ruby-2.7-16...41Downloading cache.zip from https://storage.googleapis.com/gitlab-com-runners-cache/project/278964/ruby-gems-debian-bullseye-ruby-2.7-16 42Successfully extracted cache43Checking cache for gitaly-ruby-gems-debian-bullseye-ruby-2.7-16...44Downloading cache.zip from https://storage.googleapis.com/gitlab-com-runners-cache/project/278964/gitaly-ruby-gems-debian-bullseye-ruby-2.7-16 45Successfully extracted cache47Downloading artifacts for compile-test-assets (3307837569)...48Downloading artifacts from coordinator... ok id=3307837569 responseStatus=200 OK token=tkgH241349Downloading artifacts for detect-tests (3307837577)...50Downloading artifacts from coordinator... ok id=3307837577 responseStatus=200 OK token=tkgH241351Downloading artifacts for retrieve-tests-metadata (3307837579)...52Downloading artifacts from coordinator... ok id=3307837579 responseStatus=200 OK token=tkgH241353Downloading artifacts for setup-test-env (3307837573)...54Downloading artifacts from coordinator... ok id=3307837573 responseStatus=200 OK token=tkgH241356Using docker image sha256:5c5404ecc69273636c3ef49645be715ef30ea99e51ad146a2efbeac2a1875f9c for registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-2.7.patched-golang-1.18-node-16.14-postgresql-12:rubygems-3.2-git-2.36-lfs-2.9-chrome-103-yarn-1.22-graphicsmagick-1.3.36 with digest registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-2.7.patched-golang-1.18-node-16.14-postgresql-12@sha256:b032fe79dc0bf3ebfaeb610c82eacc500fbd0ec6e01889444011cf5a72b4135d ...57$ echo $FOSS_ONLY58$ [ "$FOSS_ONLY" = "1" ] && rm -rf ee/ qa/spec/ee/ qa/qa/specs/features/ee/ qa/qa/ee/ qa/qa/ee.rb59$ export GOPATH=$CI_PROJECT_DIR/.go60$ mkdir -p $GOPATH61$ source scripts/utils.sh62$ source scripts/prepare_build.sh691Using decomposed database config (config/database.yml.decomposed-postgresql)692$ setup_db_user_only693CREATE ROLE694GRANT695==> 'setup_db_user_only' succeeded in 1 seconds.696$ bundle exec rake db:drop db:create db:schema:load db:migrate697Dropped database 'gitlabhq_test'698Dropped database 'gitlabhq_test_ci'699Dropped database 'gitlabhq_geo_test'700Created database 'gitlabhq_test'701Created database 'gitlabhq_test_ci'702Created database 'gitlabhq_geo_test'703==> 'bundle exec rake db:drop db:create db:schema:load db:migrate' succeeded in 33 seconds.704$ setup_db_praefect705SELECT pg_catalog.set_config('search_path', '', false);706CREATE DATABASE praefect_test ENCODING 'UTF8';707==> 'setup_db_praefect' succeeded in 0 seconds.708$ source ./scripts/rspec_helpers.sh709$ run_timed_command "gem install knapsack --no-document"710$ gem install knapsack --no-document711Successfully installed knapsack-4.0.07121 gem installed713==> 'gem install knapsack --no-document' succeeded in 1 seconds.714$ echo -e "\e[0Ksection_start:`date +%s`:gitaly-test-spawn[collapsed=true]\r\e[0KStarting Gitaly"828$ rspec_paralellized_job "--tag ~quarantine --tag ~level:migration"829SKIP_FLAKY_TESTS_AUTOMATICALLY: true830RETRY_FAILED_TESTS_IN_NEW_PROCESS: true831KNAPSACK_GENERATE_REPORT: true832FLAKY_RSPEC_GENERATE_REPORT: true833KNAPSACK_TEST_FILE_PATTERN: {ee/}spec/{commands,controllers,mailers,requests}{,/**/}*_spec.rb834KNAPSACK_LOG_LEVEL: debug835KNAPSACK_REPORT_PATH: knapsack/rspec-ee_integration_pg12_5_6_report.json836FLAKY_RSPEC_SUITE_REPORT_PATH: rspec/flaky/report-suite.json837FLAKY_RSPEC_REPORT_PATH: rspec/flaky/all_rspec-ee_integration_pg12_5_6_report.json838NEW_FLAKY_RSPEC_REPORT_PATH: rspec/flaky/new_rspec-ee_integration_pg12_5_6_report.json839SKIPPED_FLAKY_TESTS_REPORT_PATH: rspec/flaky/skipped_flaky_tests_rspec-ee_integration_pg12_5_6_report.txt840RETRIED_TESTS_REPORT_PATH: rspec/flaky/retried_tests_rspec-ee_integration_pg12_5_6_report.txt841CRYSTALBALL: 842Knapsack node specs:843ee/spec/requests/api/vulnerabilities_spec.rb844ee/spec/requests/api/groups_spec.rb845ee/spec/controllers/projects/issues_controller_spec.rb846ee/spec/controllers/projects/push_rules_controller_spec.rb847ee/spec/controllers/ee/search_controller_spec.rb848ee/spec/requests/api/discussions_spec.rb849ee/spec/controllers/groups/epic_issues_controller_spec.rb850ee/spec/requests/groups_controller_spec.rb851ee/spec/requests/api/graphql/mutations/epic_tree/reorder_spec.rb852ee/spec/requests/api/merge_request_approvals_spec.rb853ee/spec/controllers/groups/contribution_analytics_controller_spec.rb854ee/spec/requests/api/graphql/compliance_management/merge_requests/compliance_violations_spec.rb855ee/spec/requests/api/group_boards_spec.rb856ee/spec/controllers/projects/audit_events_controller_spec.rb857ee/spec/controllers/groups/sso_controller_spec.rb858ee/spec/controllers/autocomplete_controller_spec.rb859ee/spec/controllers/projects/security/configuration_controller_spec.rb860ee/spec/controllers/admin/clusters_controller_spec.rb861ee/spec/requests/api/graphql/mutations/audit_events/external_audit_event_destinations/create_spec.rb862ee/spec/requests/api/related_epic_links_spec.rb863ee/spec/requests/smartcard_controller_spec.rb864ee/spec/requests/api/resource_label_events_spec.rb865ee/spec/requests/groups/epics/related_epic_links_controller_spec.rb866ee/spec/requests/api/graphql/project/incident_management/oncall_shifts_spec.rb867ee/spec/requests/api/pypi_packages_spec.rb868ee/spec/requests/api/graphql/boards/epic_lists_query_spec.rb869ee/spec/requests/api/group_variables_spec.rb870ee/spec/requests/api/graphql/mutations/dast/profiles/update_spec.rb871ee/spec/requests/api/graphql/mutations/audit_events/external_audit_event_destinations/update_spec.rb872ee/spec/controllers/subscriptions/groups_controller_spec.rb873ee/spec/requests/projects/analytics/code_reviews_controller_spec.rb874ee/spec/requests/api/graphql/mutations/dast/profiles/create_spec.rb875ee/spec/requests/api/graphql/namespace/projects_spec.rb876ee/spec/requests/registrations_controller_spec.rb877ee/spec/requests/api/dependencies_spec.rb878ee/spec/controllers/projects/requirements_management/requirements_controller_spec.rb879ee/spec/requests/api/audit_events_spec.rb880ee/spec/requests/api/analytics/code_review_analytics_spec.rb881ee/spec/requests/api/graphql/mutations/boards/epic_boards/epic_move_list_spec.rb882ee/spec/requests/api/graphql/iterations/iterations_spec.rb883ee/spec/requests/api/graphql/mutations/compliance_management/frameworks/create_spec.rb884ee/spec/requests/projects/audit_events_spec.rb885ee/spec/controllers/projects/branches_controller_spec.rb886ee/spec/requests/api/dora/metrics_spec.rb887ee/spec/requests/api/graphql/mutations/issues/set_epic_spec.rb888ee/spec/requests/api/elasticsearch_indexed_namespaces_spec.rb889ee/spec/requests/api/graphql/project/dast_scanner_profiles_spec.rb890ee/spec/requests/projects/security/dast_profiles_controller_spec.rb891ee/spec/controllers/projects/iterations_controller_spec.rb892ee/spec/requests/api/graphql/project/environments_spec.rb893ee/spec/requests/api/graphql/mutations/iterations/cadences/update_spec.rb894ee/spec/requests/api/graphql/mutations/dast_site_validations/revoke_spec.rb895ee/spec/requests/api/graphql/vulnerabilities/description_spec.rb896ee/spec/requests/api/graphql/mutations/issues/promote_to_epic_spec.rb897ee/spec/requests/api/graphql/mutations/issues/create_spec.rb898ee/spec/requests/api/graphql/mutations/security_policy/assign_security_policy_project_spec.rb899ee/spec/controllers/groups/saml_group_links_controller_spec.rb900ee/spec/mailers/ee/emails/identity_verification_spec.rb901ee/spec/mailers/license_mailer_spec.rb902ee/spec/requests/api/graphql/mutations/incident_management/oncall_schedule/create_spec.rb903ee/spec/requests/api/graphql/mutations/epics/set_subscription_spec.rb904ee/spec/controllers/groups/seat_usage_controller_spec.rb905ee/spec/requests/api/graphql/project/incident_management/escalation_policy/rules_spec.rb906ee/spec/controllers/groups/scim_oauth_controller_spec.rb907ee/spec/requests/api/ci/minutes_spec.rb908ee/spec/requests/subscriptions_controller_spec.rb909ee/spec/requests/api/experiments_spec.rb910ee/spec/controllers/groups/analytics/repository_analytics_controller_spec.rb911ee/spec/controllers/projects/settings/slacks_controller_spec.rb912ee/spec/controllers/groups/security/vulnerabilities_controller_spec.rb913ee/spec/requests/api/graphql/mutations/boards/lists/update_limit_metrics_spec.rb914ee/spec/controllers/concerns/geo_instrumentation_spec.rb915ee/spec/controllers/groups/ldap_settings_controller_spec.rb916ee/spec/requests/api/graphql/mutations/boards/update_epic_user_preferences_spec.rb917ee/spec/requests/api/graphql/mutations/dast/profiles/delete_spec.rb918ee/spec/controllers/projects/incident_management/oncall_schedules_controller_spec.rb919ee/spec/requests/api/features_spec.rb920ee/spec/requests/api/graphql/boards/epic_lists/update_spec.rb921ee/spec/requests/api/graphql/app_sec/fuzzing/coverage/corpus_type_spec.rb922ee/spec/requests/api/graphql/mutations/quality_management/test_cases/create_spec.rb923ee/spec/requests/api/graphql/mutations/boards/epic_boards/create_spec.rb924ee/spec/controllers/ee/profiles/preferences_controller_spec.rb925ee/spec/requests/projects/pipelines_controller_spec.rb926ee/spec/controllers/country_states_controller_spec.rb927ee/spec/controllers/projects/settings/ci_cd_controller_spec.rb928ee/spec/requests/api/markdown_snapshot_spec.rb929ee/spec/requests/api/graphql/project/compliance_frameworks_spec.rb930ee/spec/requests/api/graphql/mutations/incident_management/escalation_policy/destroy_spec.rb931ee/spec/requests/api/graphql/mutations/incident_management/issuable_resource_link/destroy_spec.rb932ee/spec/requests/api/project_snapshots_spec.rb933ee/spec/controllers/ee/uploads_controller_spec.rb934ee/spec/requests/admin/impersonation_tokens_controller_spec.rb935ee/spec/mailers/emails/free_user_cap_spec.rb936ee/spec/controllers/profiles/usage_quotas_controller_spec.rb937Filter specs:938Running specs:939Running all node tests without filter940ee/spec/requests/api/vulnerabilities_spec.rb941ee/spec/requests/api/groups_spec.rb942ee/spec/controllers/projects/issues_controller_spec.rb943ee/spec/controllers/projects/push_rules_controller_spec.rb944ee/spec/controllers/ee/search_controller_spec.rb945ee/spec/requests/api/discussions_spec.rb946ee/spec/controllers/groups/epic_issues_controller_spec.rb947ee/spec/requests/groups_controller_spec.rb948ee/spec/requests/api/graphql/mutations/epic_tree/reorder_spec.rb949ee/spec/requests/api/merge_request_approvals_spec.rb950ee/spec/controllers/groups/contribution_analytics_controller_spec.rb951ee/spec/requests/api/graphql/compliance_management/merge_requests/compliance_violations_spec.rb952ee/spec/requests/api/group_boards_spec.rb953ee/spec/controllers/projects/audit_events_controller_spec.rb954ee/spec/controllers/groups/sso_controller_spec.rb955ee/spec/controllers/autocomplete_controller_spec.rb956ee/spec/controllers/projects/security/configuration_controller_spec.rb957ee/spec/controllers/admin/clusters_controller_spec.rb958ee/spec/requests/api/graphql/mutations/audit_events/external_audit_event_destinations/create_spec.rb959ee/spec/requests/api/related_epic_links_spec.rb960ee/spec/requests/smartcard_controller_spec.rb961ee/spec/requests/api/resource_label_events_spec.rb962ee/spec/requests/groups/epics/related_epic_links_controller_spec.rb963ee/spec/requests/api/graphql/project/incident_management/oncall_shifts_spec.rb964ee/spec/requests/api/pypi_packages_spec.rb965ee/spec/requests/api/graphql/boards/epic_lists_query_spec.rb966ee/spec/requests/api/group_variables_spec.rb967ee/spec/requests/api/graphql/mutations/dast/profiles/update_spec.rb968ee/spec/requests/api/graphql/mutations/audit_events/external_audit_event_destinations/update_spec.rb969ee/spec/controllers/subscriptions/groups_controller_spec.rb970ee/spec/requests/projects/analytics/code_reviews_controller_spec.rb971ee/spec/requests/api/graphql/mutations/dast/profiles/create_spec.rb972ee/spec/requests/api/graphql/namespace/projects_spec.rb973ee/spec/requests/registrations_controller_spec.rb974ee/spec/requests/api/dependencies_spec.rb975ee/spec/controllers/projects/requirements_management/requirements_controller_spec.rb976ee/spec/requests/api/audit_events_spec.rb977ee/spec/requests/api/analytics/code_review_analytics_spec.rbKnapsack report generator started!978Run options: exclude {:quarantine=>true, :level=>"migration"}979Test environment set up in 1.63585003 seconds980API::Vulnerabilities981 GET /projects/:id/vulnerabilities982 with an authorized user with proper permissions983 returns all vulnerabilities of a project984 with pagination985 paginates the vulnerabilities according to the pagination params986 behaves like forbids access to vulnerability API endpoint in case of disabled features987 when security dashboard feature is not available988 responds with 403 Forbidden989 permissions990 is expected to be allowed for :admin991 is expected to be allowed for :owner992 is expected to be allowed for :maintainer993 is expected to be allowed for :developer994 is expected to be allowed for :auditor995 is expected to be denied for :reporter996 is expected to be denied for :guest997 is expected to be denied for :anonymous998 GET /vulnerabilities/:id999 with an authorized user with proper permissions1000 returns the desired vulnerability1001 returns the desired findings1002 behaves like responds with "not found" for an unknown vulnerability ID1003 is expected to respond with numeric status code not_found1004 behaves like forbids access to vulnerability API endpoint in case of disabled features1005 when security dashboard feature is not available1006 responds with 403 Forbidden1007 permissions1008 is expected to be allowed for :admin1009 is expected to be allowed for :owner1010 is expected to be allowed for :maintainer1011 is expected to be allowed for :developer1012 is expected to be allowed for :auditor1013 is expected to be denied for :reporter1014 is expected to be denied for :guest1015 is expected to be denied for :anonymous1016 POST /projects/:id/vulnerabilities1017 with an authorized user with proper permissions1018 creates a vulnerability from finding and attaches it to the vulnerability1019 when finding id is unknown1020 responds with expected error1021 when a vulnerability already exists for a specific finding1022 rejects creation of a new vulnerability from this finding1023 behaves like forbids access to vulnerability API endpoint in case of disabled features1024 when security dashboard feature is not available1025 responds with 403 Forbidden1026 permissions1027 is expected to be allowed for :admin1028 is expected to be allowed for :owner1029 is expected to be allowed for :maintainer1030 is expected to be allowed for :developer1031 is expected to be denied for :auditor1032 is expected to be denied for :reporter1033 is expected to be denied for :guest1034 is expected to be denied for :anonymous1035 POST /vulnerabilities:id/dismiss1036 with an authorized user with proper permissions1037 when deprecate_vulnerabilities_feedback is disabled1038 dismisses a vulnerability and its associated findings1039 when deprecate_vulnerabilities_feedback is enabled1040 dismisses a vulnerability and its associated findings without creating vulnerability feedbacks1041 behaves like responds with "not found" for an unknown vulnerability ID1042 is expected to respond with numeric status code not_found1043 when there is a dismissal error1044 responds with error1045 if a vulnerability is already dismissed1046 responds with 304 Not Modified1047 behaves like forbids access to vulnerability API endpoint in case of disabled features1048 when security dashboard feature is not available1049 responds with 403 Forbidden1050 permissions1051 is expected to be allowed for :admin1052 is expected to be allowed for :owner1053 is expected to be allowed for :maintainer1054 is expected to be allowed for :developer1055 is expected to be denied for :auditor1056 is expected to be denied for :reporter1057 is expected to be denied for :guest1058 is expected to be denied for :anonymous1059 POST /vulnerabilities/:id/resolve1060 with an authorized user with proper permissions1061 resolves a vulnerability and its associated findings1062 behaves like responds with "not found" for an unknown vulnerability ID1063 is expected to respond with numeric status code not_found1064 when the vulnerability is already resolved1065 responds with 304 Not Modified response1066 behaves like forbids access to vulnerability API endpoint in case of disabled features1067 when security dashboard feature is not available1068 responds with 403 Forbidden1069 permissions1070 is expected to be allowed for :admin1071 is expected to be allowed for :owner1072 is expected to be allowed for :maintainer1073 is expected to be allowed for :developer1074 is expected to be denied for :auditor1075 is expected to be denied for :reporter1076 is expected to be denied for :guest1077 is expected to be denied for :anonymous1078 POST /vulnerabilities/:id/confirm1079 with an authorized user with proper permissions1080 confirms a vulnerability and its associated findings1081 behaves like responds with "not found" for an unknown vulnerability ID1082 is expected to respond with numeric status code not_found1083 when the vulnerability is already confirmed1084 responds with 304 Not Modified response1085 behaves like forbids access to vulnerability API endpoint in case of disabled features1086 when security dashboard feature is not available1087 responds with 403 Forbidden1088 permissions1089 is expected to be allowed for :admin1090 is expected to be allowed for :owner1091 is expected to be allowed for :maintainer1092 is expected to be allowed for :developer1093 is expected to be denied for :auditor1094 is expected to be denied for :reporter1095 is expected to be denied for :guest1096 is expected to be denied for :anonymous1097 POST /vulnerabilities:id/revert1098 with an authorized user with proper permissions1099 reverts a vulnerability and its associated findings to detected state1100 behaves like responds with "not found" for an unknown vulnerability ID1101 is expected to respond with numeric status code not_found1102 when there is a revert error1103 responds with error1104 if a vulnerability is already in detected state1105 responds with 304 Not Modified1106 behaves like forbids access to vulnerability API endpoint in case of disabled features1107 when security dashboard feature is not available1108 responds with 403 Forbidden1109 permissions1110 is expected to be allowed for :admin1111 is expected to be allowed for :owner1112 is expected to be allowed for :maintainer1113 is expected to be allowed for :developer1114 is expected to be denied for :auditor1115 is expected to be denied for :reporter1116 is expected to be denied for :guest1117 is expected to be denied for :anonymous1118API::Groups1119 GET /groups1120 when authenticated as user1121 returns ldap details1122 returns saml group links1123 GET /groups/:id1124 group_ip_restriction1125 when the group_ip_restriction feature is not available1126 returns 2001127 when the group_ip_restriction feature is available1128 returns 404 for request from ip not in the range1129 returns 200 for request from ip in the range1130 marked_for_deletion_on attribute1131 when feature is available1132 is exposed1133 when feature is not available1134 is not exposed1135 file_template_project_id is a private project1136 user has permission to private project1137 returns file_template_project_id1138 user does not have permission to private project1139 does not return file_template_project_id1140 user is not logged in1141 does not return file_template_project_id1142 PUT /groups/:id1143 file_template_project_id1144 does not update file_template_project_id if unlicensed1145 updates file_template_project_id if licensed1146 shared_runners_minutes_limit1147 when authenticated as the group owner1148 returns 200 if shared_runners_minutes_limit is not changing1149 when authenticated as the admin1150 updates the group for shared_runners_minutes_limit1151 default_branch_protection1152 authenticated as an admin1153 feature_enabled: true, setting_enabled: true, default_branch_protection: 01154 updates the attribute as expected1155 feature_enabled: false, setting_enabled: true, default_branch_protection: 01156 updates the attribute as expected1157 feature_enabled: true, setting_enabled: false, default_branch_protection: 01158 updates the attribute as expected1159 feature_enabled: false, setting_enabled: false, default_branch_protection: 01160 updates the attribute as expected1161 authenticated a normal user1162 feature_enabled: true, setting_enabled: true, default_branch_protection: 01163 updates the attribute as expected1164 feature_enabled: false, setting_enabled: true, default_branch_protection: 01165 updates the attribute as expected1166 feature_enabled: true, setting_enabled: false, default_branch_protection: 21167 updates the attribute as expected1168 feature_enabled: false, setting_enabled: false, default_branch_protection: 01169 updates the attribute as expected1170 prevent_forking_outside_group1171 authenticated as group owner1172 feature_enabled: false, prevent_forking_outside_group: false, result: nil1173 updates the attribute as expected1174 feature_enabled: false, prevent_forking_outside_group: true, result: nil1175 updates the attribute as expected1176 feature_enabled: true, prevent_forking_outside_group: false, result: false1177 updates the attribute as expected1178 feature_enabled: true, prevent_forking_outside_group: true, result: true1179 updates the attribute as expected1180 when ip_restriction_ranges is specified1181 when feature is available1182 updates ip restriction range for the group1183 when feature is not available1184 does not update the ip restriction range for the group1185 unique_project_download* attributes1186 when authenticated as group owner1187 when feature flag enabled and feature available1188 updates the attributes as expected1189 flag_enabled: true, feature_available: false1190 does not update the attributes1191 flag_enabled: false, feature_available: true1192 does not update the attributes1193 flag_enabled: false, feature_available: false1194 does not update the attributes1195 POST /groups1196 when authenticated as user with group permissions1197 creates an ldap_group_link if ldap_cn and ldap_access are supplied1198 when shared_runners_minutes_limit is given1199 when the current user is not an admin1200 does not create a group with shared_runners_minutes_limit1201 when the current user is an admin1202 creates a group with shared_runners_minutes_limit1203 when creating a group with `default_branch_protection` attribute1204 authenticated as an admin1205 feature_enabled: true, setting_enabled: true, default_branch_protection: 01206 creates the group with the expected `default_branch_protection` value1207 feature_enabled: false, setting_enabled: true, default_branch_protection: 01208 creates the group with the expected `default_branch_protection` value1209 feature_enabled: true, setting_enabled: false, default_branch_protection: 01210 creates the group with the expected `default_branch_protection` value1211 feature_enabled: false, setting_enabled: false, default_branch_protection: 01212 creates the group with the expected `default_branch_protection` value1213 authenticated a normal user1214 feature_enabled: true, setting_enabled: true, default_branch_protection: 01215 creates the group with the expected `default_branch_protection` value1216 feature_enabled: false, setting_enabled: true, default_branch_protection: 01217 creates the group with the expected `default_branch_protection` value1218 feature_enabled: true, setting_enabled: false, default_branch_protection: 21219 creates the group with the expected `default_branch_protection` value1220 feature_enabled: false, setting_enabled: false, default_branch_protection: 01221 creates the group with the expected `default_branch_protection` value1222 when creating group on .com1223 when top_level_group_creation_enabled feature flag is disabled1224 does not create a top-level group1225 creates a subgroup1226 when top_level_group_creation_enabled feature flag is enabled1227 creates a top-level group1228 when creating group on self-managed1229 when top_level_group_creation_enabled feature flag is disabled1230 creates a top-level group1231 creates a subgroup1232 when top_level_group_creation_enabled feature flag is enabled1233 creates a top-level group1234 POST /groups/:id/ldap_sync1235 when the ldap_group_sync feature is available1236 when authenticated as the group owner1237 returns 404 for a non existing group1238 when the group is ready to sync1239 returns 202 Accepted1240 queues a sync job1241 sets the ldap_sync state to pending1242 when the group is already pending a sync1243 returns 202 Accepted1244 does not queue a sync job1245 does not change the ldap_sync state1246 when authenticated as the admin1247 returns 202 Accepted1248 when authenticated as a non-owner user that can see the group1249 returns 4031250 when authenticated as an user that cannot see the group1251 returns 4041252 when the ldap_group_sync feature is not available1253 returns 404 (same as CE would)1254 GET /groups/:id/projects1255 when authenticated as user1256 when security dashboard is enabled for a group1257 returns only projects with security scans1258 when security dashboard is disabled for a group1259 returns all projects regardless of the security scans1260 when namespace license checks are enabled1261 when there are plans and projects1262 only loads plans once1263 when there are no projects1264 completes the request without error1265 GET group/:id/audit_events1266 behaves like inaccessable by reporter role and lower1267 for reporter1268 returns 403 response1269 for guest1270 returns 403 response1271 for anonymous1272 returns 403 response1273 when authenticated, as a member1274 returns only events authored by current user1275 when authenticated, as a group owner1276 audit events feature is not available1277 behaves like 403 response1278 returns 4031279 audit events feature is available1280 returns 200 response1281 includes the correct pagination headers1282 does not include audit events of a different group1283 parameters1284 created_before parameter1285 returns audit events created before the given parameter1286 created_after parameter1287 returns audit events created after the given parameter1288 response schema1289 matches the response schema1290 GET group/:id/audit_events/:audit_event_id1291 behaves like inaccessable by reporter role and lower1292 for reporter1293 returns 403 response1294 for guest1295 returns 403 response1296 for anonymous1297 returns 403 response1298 when authenticated, as a member1299 returns 200 response1300 existing audit event of a different user1301 behaves like 404 response1302 returns 4041303 when authenticated, as a group owner1304 audit events feature is not available1305 behaves like 403 response1306 returns 4031307 audit events feature is available1308 existent audit event1309 returns 200 response1310 response schema1311 matches the response schema1312 invalid audit_event_id1313 behaves like 400 response1314 returns 4001315 non existent audit event1316 non existent audit event of a group1317 behaves like 404 response1318 returns 4041319 existing audit event of a different group1320 behaves like 404 response1321 returns 4041322 DELETE /groups/:id1323 feature is available1324 does not mark the group for deletion when the group has a paid gitlab.com subscription1325 marks for deletion a subgroup of a group with a paid gitlab.com subscription1326 when delayed group deletion is enabled1327 success1328 behaves like marks group for delayed deletion1329 is expected to eq #<User id:406 @user62>1330 when deletion adjourned period is 01331 behaves like immediately enqueues the job to delete the group1332 is expected to respond with numeric status code accepted1333 when permanently_remove param is sent1334 if permanently_remove is true1335 if group is a subgroup1336 when group is already marked for deletion1337 when full_path param is not passed1338 behaves like does not immediately enqueues the job to delete the group1339 is expected to eq "`full_path` is incorrect. You must enter the complete path for the subgroup."1340 when full_path param is not equal to full_path1341 behaves like does not immediately enqueues the job to delete the group1342 is expected to eq "`full_path` is incorrect. You must enter the complete path for the subgroup."1343 when the full_path param is passed and it matches the full path of subgroup1344 when feature flag is enabled for the group1345 behaves like immediately enqueues the job to delete the group1346 is expected to respond with numeric status code accepted1347 when feature flag is disabled for the group1348 behaves like does not immediately enqueues the job to delete the group1349 is expected to eq "Group has been already marked for deletion"1350 when group is not marked for deletion1351 behaves like does not immediately enqueues the job to delete the group1352 is expected to eq "Group must be marked for deletion first."1353 if group is not a subgroup1354 behaves like does not immediately enqueues the job to delete the group1355 is expected to eq "`permanently_remove` option is only available for subgroups."1356 if permanently_remove is not true1357 when it is false1358 behaves like marks group for delayed deletion1359 is expected to eq #<User id:406 @user62>1360 when it is non boolean1361 behaves like marks group for delayed deletion1362 is expected to eq #<User id:406 @user62>1363 when delayed group deletion is disabled1364 behaves like immediately enqueues the job to delete the group1365 is expected to respond with numeric status code accepted1366 failure1367 returns error1368 feature is not available1369 does not delete the group when the group has a paid gitlab.com subscription1370 deletes a subgroup of a group with a paid gitlab.com subscription1371 behaves like immediately enqueues the job to delete the group1372 is expected to respond with numeric status code accepted1373 POST /groups/:id/restore1374 feature is available1375 authenticated as owner1376 restoring is successful1377 restores the group to original state1378 restoring fails1379 returns error1380 authenticated as user without access to the group1381 returns 4031382 feature is not available1383 returns 4041384 GET /groups/:id/provisioned_users1385 when current_user is not a group maintainer1386 returns 4031387 when current_user is a group maintainer1388 returns a list of users provisioned by the group1389 optional params1390 search param1391 filters by search1392 username param1393 filters by username1394 blocked param1395 filters by blocked1396 active param1397 filters by active status1398 created_after1399 filters by created_at1400 created_before1401 filters by created_at1402Projects::IssuesController1403 licensed features1404 licensed1405 #update1406 sets issue weight and epic1407 #new1408 when a vulnerability_id is provided1409 sets the vulnerability_id1410 sets the confidential flag to true by default1411 default templates1412 when a template has been set via project settings1413 does not select a default template1414 when a template has not been set via project settings1415 selects a default template1416 #create1417 sets issue weight and epic1418 when created from a vulnerability1419 overwrites the default fields1420 does not show an error message1421 when deprecate_vulnerabilities_feedback is disabled1422 creates vulnerability feedback1423 behaves like creates vulnerability issue link1424 links the issue to the vulnerability1425 when vulnerability already has a linked issue1426 shows an error message1427 when deprecate_vulnerabilities_feedback is enabled1428 does not create vulnerability feedback1429 behaves like creates vulnerability issue link1430 links the issue to the vulnerability1431 when vulnerability already has a linked issue1432 shows an error message1433 unlicensed1434 #update1435 does not set issue weight1436 #new1437 when a vulnerability_id is provided1438 does not build issue from a vulnerability1439 #create1440 does not set issue weight ane epic1441 GET #discussions1442 with a related system note1443 when authenticated1444 behaves like user can see confidential issue1445 when a user is a reporter1446 displays related notes1447 behaves like user can see confidential issue1448 when a user is a developer1449 displays related notes1450 behaves like user can see confidential issue1451 when a user is a maintainer1452 displays related notes1453 behaves like user cannot see confidential issue1454 when a user is a guest1455 redacts note related to a confidential issue1456 when unauthenticated1457 behaves like user cannot see confidential issue1458 when a user is a 01459 redacts note related to a confidential issue1460 is_gitlab_employee attribute1461 when user is a gitlab team member1462 renders the is_gitlab_employee attribute1463 when feature flag is disabled1464 behaves like non inclusion of gitlab team member badge1465 does not render the is_gitlab_employee attribute1466 when user is not a gitlab team member1467 behaves like non inclusion of gitlab team member badge1468 does not render the is_gitlab_employee attribute1469 when feature flag is disabled1470 behaves like non inclusion of gitlab team member badge1471 does not render the is_gitlab_employee attribute1472 PUT #update1473 changing the assignee1474 when the gitlab_employee_badge flag is off1475 does not expose the is_gitlab_employee attribute on the assignee1476 when the gitlab_employee_badge flag is on but we are not on gitlab.com1477 does not expose the is_gitlab_employee attribute on the assignee1478 when the gitlab_employee_badge flag is on and we are on gitlab.com1479 exposes the is_gitlab_employee attribute on the assignee1480 behaves like DescriptionDiffActions1482 when license is available1483 GET description_diff1484 returns the diff with the previous version1485 returns the diff with the previous version of the specified start_version_id1486 when description version is from another issuable1487 returns 4041488 when start_version_id is from another issuable1489 returns 4041490 when start_version_id is deleted1491 returns 4041492 when description version is deleted1493 returns 4041494 DELETE description_diff1495 returns 2001496 when start_version_id is present1497 returns 2001498 when version is already deleted1499 returns 4041500 when user cannot admin issuable1501 returns 4041502 when license is not available1503 GET description_diff1504 returns 4041505 DELETE description_diff1506 returns 4041507Projects::PushRulesController1508 #update1509 updates the push rule1510 push rules unlicensed1511 returns 4041512 Updating reject_unsigned_commits rule1513 as an admin in admin mode1514 behaves like a setting with global default1515 when disabled1516 behaves like updateable setting1517 does not update the setting1518 when enabled1519 behaves like updateable setting1520 updates the setting1521 when global setting is enabled1522 behaves like updateable setting1523 updates the setting1524 as a maintainer user1525 behaves like a setting with global default1526 when disabled1527 behaves like updateable setting1528 does not update the setting1529 when enabled1530 behaves like updateable setting1531 updates the setting1532 when global setting is enabled1533 behaves like updateable setting1534 updates the setting1535 as a developer user1536 behaves like a setting with global default1537 when disabled1538 behaves like updateable setting1539 does not update the setting1540 when enabled1541 behaves like updateable setting1542 does not update the setting1543 when global setting is enabled1544 behaves like updateable setting1545 does not update the setting1546 Updating commit_committer_check rule1547 as an admin in admin mode1548 behaves like a setting with global default1549 when disabled1550 behaves like updateable setting1551 does not update the setting1552 when enabled1553 behaves like updateable setting1554 updates the setting1555 when global setting is enabled1556 behaves like updateable setting1557 updates the setting1558 as a maintainer user1559 behaves like a setting with global default1560 when disabled1561 behaves like updateable setting1562 does not update the setting1563 when enabled1564 behaves like updateable setting1565 updates the setting1566 when global setting is enabled1567 behaves like updateable setting1568 updates the setting1569 as a developer user1570 behaves like a setting with global default1571 when disabled1572 behaves like updateable setting1573 does not update the setting1574 when enabled1575 behaves like updateable setting1576 does not update the setting1577 when global setting is enabled1578 behaves like updateable setting1579 does not update the setting1580 Updating reject_non_dco_commits rule1581 as an admin in admin mode1582 behaves like a setting with global default1583 when disabled1584 behaves like updateable setting1585 does not update the setting1586 when enabled1587 behaves like updateable setting1588 updates the setting1589 when global setting is enabled1590 behaves like updateable setting1591 updates the setting1592 as a maintainer user1593 behaves like a setting with global default1594 when disabled1595 behaves like updateable setting1596 does not update the setting1597 when enabled1598 behaves like updateable setting1599 updates the setting1600 when global setting is enabled1601 behaves like updateable setting1602 updates the setting1603 as a developer user1604 behaves like a setting with global default1605 when disabled1606 behaves like updateable setting1607 does not update the setting1608 when enabled1609 behaves like updateable setting1610 does not update the setting1611 when global setting is enabled1612 behaves like updateable setting1613 does not update the setting1614 Updating commit_committer_name_check rule1615 when commit_committer_name_check is disabled1616 as an admin1617 behaves like updates push rule commit_committer_name_check of project1618 matches the given result1619 as a maintainer user1620 behaves like updates push rule commit_committer_name_check of project1621 matches the given result1622 as a developer user1623 behaves like updates push rule commit_committer_name_check of project1624 matches the given result1625 when commit_committer_name_check is enabled1626 when commit_committer_name_check_ff enabled1627 as an admin1628 behaves like updates push rule commit_committer_name_check of project1629 matches the given result1630 as a maintainer user1631 behaves like updates push rule commit_committer_name_check of project1632 matches the given result1633 as a developer user1634 behaves like updates push rule commit_committer_name_check of project1635 matches the given result1636 when commit_committer_name_check_ff disabled1637 as an admin1638 behaves like updates push rule commit_committer_name_check of project1639 matches the given result1640 as a maintainer user1641 behaves like updates push rule commit_committer_name_check of project1642 matches the given result1643 as a developer user1644 behaves like updates push rule commit_committer_name_check of project1645 matches the given result1646SearchController1647 GET #show1648 unique users tracking1649 Snowplow event tracking1650 is not sending events if FF is disabled1651 emits all search events1652 i_search_advanced1653 behaves like tracking unique hll events1654 tracks unique event1655 i_search_paid1656 on Gitlab.com1657 behaves like tracking unique hll events1658 tracks unique event1659 self-managed instance1660 does not track if there is no license available1661 license is available1662 behaves like tracking unique hll events1663 tracks unique event1664 global search1665 behaves like renders the elasticsearch tabs if elasticsearch is enabled1666 scope: "projects"1667 when elasticsearch is enabled1668 shows the elasticsearch tabs1669 when elasticsearch is disabled1670 does not show the elasticsearch tabs1671 scope: "issues"1672 when elasticsearch is enabled1673 shows the elasticsearch tabs1674 when elasticsearch is disabled1675 does not show the elasticsearch tabs1676 scope: "merge_requests"1677 when elasticsearch is enabled1678 shows the elasticsearch tabs1679 when elasticsearch is disabled1680 does not show the elasticsearch tabs1681 scope: "milestones"1682 when elasticsearch is enabled1683 shows the elasticsearch tabs1684 when elasticsearch is disabled1685 does not show the elasticsearch tabs1686 scope: "epics"1687 when elasticsearch is enabled1688 shows the elasticsearch tabs1689 when elasticsearch is disabled1690 does not show the elasticsearch tabs1691 scope: "notes"1692 when elasticsearch is enabled1693 shows the elasticsearch tabs1694 when elasticsearch is disabled1695 does not show the elasticsearch tabs1696 scope: "blobs"1697 when elasticsearch is enabled1698 shows the elasticsearch tabs1699 when elasticsearch is disabled1700 does not show the elasticsearch tabs1701 scope: "commits"1702 when elasticsearch is enabled1703 shows the elasticsearch tabs1704 when elasticsearch is disabled1705 does not show the elasticsearch tabs1706 scope: "wiki_blobs"1707 when elasticsearch is enabled1708 shows the elasticsearch tabs1709 when elasticsearch is disabled1710 does not show the elasticsearch tabs1711 scope: "users"1712 when elasticsearch is enabled1713 shows the elasticsearch tabs1714 when elasticsearch is disabled1715 does not show the elasticsearch tabs1716 scope tab order1717 when elasticsearch is disabled1718 behaves like search tabs displayed in consistent order1719 keeps search tab order1720 when elasticsearch is enabled1721 behaves like search tabs displayed in consistent order1722 keeps search tab order1723 group search1724 behaves like renders the elasticsearch tabs if elasticsearch is enabled1725 scope: "projects"1726 when elasticsearch is enabled1727 shows the elasticsearch tabs1728 when elasticsearch is disabled1729 does not show the elasticsearch tabs1730 scope: "issues"1731 when elasticsearch is enabled1732 shows the elasticsearch tabs1733 when elasticsearch is disabled1734 does not show the elasticsearch tabs1735 scope: "merge_requests"1736 when elasticsearch is enabled1737 shows the elasticsearch tabs1738 when elasticsearch is disabled1739 does not show the elasticsearch tabs1740 scope: "milestones"1741 when elasticsearch is enabled1742 shows the elasticsearch tabs1743 when elasticsearch is disabled1744 does not show the elasticsearch tabs1745 scope: "epics"1746 when elasticsearch is enabled1747 shows the elasticsearch tabs1748 when elasticsearch is disabled1749 does not show the elasticsearch tabs1750 scope: "notes"1751 when elasticsearch is enabled1752 shows the elasticsearch tabs1753 when elasticsearch is disabled1754 does not show the elasticsearch tabs1755 scope: "blobs"1756 when elasticsearch is enabled1757 shows the elasticsearch tabs1758 when elasticsearch is disabled1759 does not show the elasticsearch tabs1760 scope: "commits"1761 when elasticsearch is enabled1762 shows the elasticsearch tabs1763 when elasticsearch is disabled1764 does not show the elasticsearch tabs1765 scope: "wiki_blobs"1766 when elasticsearch is enabled1767 shows the elasticsearch tabs1768 when elasticsearch is disabled1769 does not show the elasticsearch tabs1770 scope: "users"1771 when elasticsearch is enabled1772 shows the elasticsearch tabs1773 when elasticsearch is disabled1774 does not show the elasticsearch tabs1775 scope tab order1776 when elasticsearch is disabled1777 when epics are disabled1778 behaves like search tabs displayed in consistent order1779 keeps search tab order1780 when epics are enabled1781 behaves like search tabs displayed in consistent order1782 keeps search tab order1783 when elasticsearch is enabled1784 when epics are disabled1785 behaves like search tabs displayed in consistent order1786 keeps search tab order1787 when epics are enabled1788 behaves like search tabs displayed in consistent order1789 keeps search tab order1790 project search1791 scope tab order1792 when elasticsearch is disabled1793 behaves like search tabs displayed in consistent order1794 keeps search tab order1795 when elasticsearch is enabled1796 behaves like search tabs displayed in consistent order1797 keeps search tab order1798 behaves like support for elasticsearch timeouts1799 renders a 408 when a timeout occurs1800 GET #aggregations1801 raises an error if search term is missing1802 raises an error if search scope is missing1803 returns an error if search term is invalid1804 behaves like when the user cannot read cross project1805 blocks access without a project_id1806 allows access with a project_id1807 behaves like with external authorization service enabled1808 renders a 403 when no project is given1809 renders a 200 when a project was set1810 behaves like support for elasticsearch timeouts1811 renders a 408 when a timeout occurs1812 behaves like rate limited endpoint1813 when rate limiter enabled1814 logs request and declines it when endpoint called more than the threshold1815 when rate limiter is disabled1816 does not log request and does not block the request1817 blobs scope1818 when elasticsearch is disabled1819 returns an empty array1820 when elasticsearch is enabled1821 returns aggregations1822 issue scope1823 when elasticsearch is disabled1824 returns an empty array1825 when elasticsearch is enabled1826 returns aggregations1827 #append_info_to_payload1828 when using elasticsearch1829 appends the type of search used as advanced1830 when using basic search1831 appends the type of search used as basic1832API::Discussions1833 when noteable is an Epic1834 behaves like discussions API1835 GET /groups/:id/epics/:noteable_id/discussions1836 returns an array of discussions1837 returns a 404 error when noteable id not found1838 returns 404 when not authorized1839 GET /groups/:id/epics/:noteable_id/discussions/:discussion_id1840 returns a discussion by id1841 returns a 404 error if discussion not found1842 POST /groups/:id/epics/:noteable_id/discussions1843 creates a new note1844 returns a 400 bad request error if body not given1845 returns a 401 unauthorized error if user not authenticated1846 tracks a Notes::CreateService event1847 with notes_create_service_tracking feature flag disabled1848 does not track Notes::CreateService events1849 when an admin or owner makes the request1850 accepts the creation date to be set1851 when user does not have access to read the discussion1852 responds with 4041853 when a project is public with private repo access1854 when user is not a team member of private repo1855 creating a new note1856 raises 404 error1857 fetching a discussion1858 raises 404 error1859 POST /groups/:id/epics/:noteable_id/discussions/:discussion_id/notes1860 adds a new note to the discussion1861 returns a 400 bad request error if body not given1862 when the discussion is an individual note1863 creates a new discussion1864 PUT /groups/:id/epics/:noteable_id/discussions/:discussion_id/notes/:note_id1865 returns modified note1866 returns a 404 error when note id not found1867 returns a 400 bad request error if body not given1868 DELETE /groups/:id/epics/:noteable_id/discussions/:discussion_id/notes/:note_id1869 deletes a note1870 returns a 404 error when note id not found1871 behaves like 412 response1872 for a modified ressource1873 returns 412 with a JSON error1874 for an unmodified ressource1875 returns 204 with an empty body1876Groups::EpicIssuesController1877 GET #index1878 behaves like unlicensed epics action1879 returns 403 status1880 when epics feature is enabled1881 when user has access to epic1882 returns status 2001883 returns the correct json1884 when user does not have access to epic1885 returns 404 status1886 POST #create1887 behaves like unlicensed epics action1888 returns 403 status1889 when epics feature is enabled1890 when user has permissions to create requested association1891 returns correct response for the correct issue reference1892 creates a new EpicIssue record1893 when user does not have permissions to create requested association1894 returns correct response for the correct issue reference1895 does not create a new EpicIssue record1896 DELETE #destroy1897 behaves like unlicensed epics action1898 returns 403 status1899 when epics feature is enabled1900 when user has permissions to delete the link1901 returns status 2001902 destroys the link1903 when user does not have permissions to delete the link1904 returns status 4031905 does not destroy the link1906 when the epic from the association does not equal epic from the path1907 returns status 4041908 does not destroy the link1909 when the epic_issue record does not exists1910 returns status 4041911 PUT #update1912 behaves like unlicensed epics action1913 returns 403 status1914 when epics feature is enabled1915 when user has permissions to admin the epic1916 returns status 2001917 updates the issue position value1918 when user does not have permissions to admin the epic1919 returns status 4031920 when the epic from the association does not equal epic from the path1921 returns status 4041922 when the epic_issue record does not exists1923 returns status 4041924GroupsController1925 PUT update1926 setting ip_restriction1927 top-level group1928 when ip_restriction does not exist1929 valid param1930 single IP subnet1931 behaves like creates ip restrictions1932 creates ip restrictions1933 multiple IP subnets1934 behaves like creates ip restrictions1935 creates ip restrictions1936 invalid param1937 adds error message1938 when ip_restriction already exists1939 ip restriction param set1940 valid param1941 single subnet1942 behaves like updates ip restrictions1943 updates ip restrictions1944 multiple subnets1945 a new subnet along with the existing one1946 behaves like updates ip restrictions1947 updates ip restrictions1948 completely new range of subnets1949 behaves like updates ip restrictions1950 updates ip restrictions1951 invalid param1952 not a valid subnet1953 behaves like does not update existing ip restrictions1954 does not change ip restriction records1955 adds error message1956 multiple IP subnets1957 any one of them being not a valid1958 behaves like does not update existing ip restrictions1959 does not change ip restriction records1960 adds error message1961 empty ip restriction param1962 deletes ip restriction1963 subgroup1964 does not create ip restriction1965 with empty ip restriction param1966 updates group setting1967 does not create ip restriction1968 feature is disabled1969 does not create ip restriction1970 setting email domain restrictions1971 top-level group1972 when email domain restriction does not exist1973 valid param1974 single domain1975 behaves like creates email domain restrictions1976 creates email domain restrictions1977 multiple domains1978 behaves like creates email domain restrictions1979 creates email domain restrictions1980 invalid param1981 adds error message1982 when email domain restrictions already exists1983 allowed email domain param set1984 valid param1985 single domain1986 behaves like updates allowed email domain restrictions1987 updates allowed email domain restrictions1988 multiple domains1989 a new domain along with the existing one1990 behaves like updates allowed email domain restrictions1991 updates allowed email domain restrictions1992 completely new set of domains1993 behaves like updates allowed email domain restrictions1994 updates allowed email domain restrictions1995 invalid param1996 not a valid domain1997 behaves like does not update existing email domain restrictions1998 does not change allowed_email_domains records1999 adds error message2000 multiple domains2001 any one of them being not a valid2002 behaves like does not update existing email domain restrictions2003 does not change allowed_email_domains records2004 adds error message2005 empty param2006 deletes all email domain restrictions2007 subgroup2008 does not create email domain restriction2009 feature is disabled2010 does not create email domain restrictions2011 PUT #transfer2012 does not transfer a group with a gitlab saas subscription2013 transfers a subgroup with a parent group with a gitlab saas subscription2014 DELETE #destroy2015 does not delete a group with a gitlab.com subscription2016 deletes a subgroup with a parent group with a gitlab.com subscription2017Updating an epic tree2018 when epics and subepics features are enabled2019 when the user does not have permission2020 returns the error message2021 behaves like a mutation that does not update the tree2022 does not change relative_positions2023 when the user has permission2024 when moving an epic2025 when moving an epic is successful2026 updates the epics relative positions2027 returns nil in errors2028 when a new_parent_id is provided2029 updates the epics relative positions and updates the parent2030 returns nil in errors2031 when relative_position is invalid2032 behaves like a mutation that returns top-level errors2033 is expected to contain exactly "Variable $epicTreeReorderInput of type EpicTreeReorderInput! was provided invalid value for moved.relativePosition (Expected \"invalid\" to be one of: before, after)"2034 when object being moved is not supported type2035 returns the error message2036 when moving an epic fails due to the parents of the relative position object and the moving object mismatching2037 returns the error message2038 behaves like a mutation that does not update the tree2039 does not change relative_positions2040 when the new parent is another epic and subepics feature is disabled2041 returns the error message2042 behaves like a mutation that does not update the tree2043 does not change relative_positions2044 when moving an issue2045 updates the epics relative positions2046 returns nil in errors2047 when a new_parent_id is provided2048 updates the epic's relative positions and parent2049 returns nil in errors2050 when moving an issue fails due to the parents of the relative position object and the moving object mismatching2051 returns the error message2052 behaves like a mutation that does not update the tree2053 does not change relative_positions2054API::MergeRequestApprovals2055 GET :id/merge_requests/:merge_request_iid/approvals2056 retrieves the approval status2057 lists unapproved rule names2058 when private group approver2059 hides private group2060 when admin2061 shows all approver groups2062 when approvers are set to zero2063 returns a 2002064 when merge_status is cannot_be_merged_rechecking2065 returns `checking`2066 GET :id/merge_requests/:merge_request_iid/approval_settings2067 retrieves the approval rules details2068 behaves like an API endpoint for getting merge request approval state2069 when source rule is present2070 returns source rule details2071 when rule has groups2072 when user can view a group2073 includes group2074 when user cannot view a group included in groups2075 excludes private groups2076 when rule has a section2077 exposes the value of section when set2078 when target_branch is specified2079 filters the rules returned by target branch2080 GET :id/merge_requests/:merge_request_iid/approval_state2081 retrieves the approval state details2082 behaves like an API endpoint for getting merge request approval state2083 when source rule is present2084 returns source rule details2085 when rule has groups2086 when user can view a group2087 includes group2088 when user cannot view a group included in groups2089 excludes private groups2090 POST :id/merge_requests/:merge_request_iid/approvals2091 as a project admin2092 behaves like user allowed to override approvals_before_merge2093 when disable_overriding_approvers_per_merge_request is false on the project2094 allows you to set approvals required2095 when disable_overriding_approvers_per_merge_request is true on the project2096 does not allow you to set approvals_before_merge2097 as a global admin2098 behaves like user allowed to override approvals_before_merge2099 when disable_overriding_approvers_per_merge_request is false on the project2100 allows you to set approvals required2101 when disable_overriding_approvers_per_merge_request is true on the project2102 does not allow you to set approvals_before_merge2103 as a random user2104 does not allow you to override approvals required2105 POST :id/merge_requests/:merge_request_iid/approve2106 as the author of the merge request2107 returns a 4012108 as a valid approver2109 only shows group approvers visible to the user2110 when the sha param is not set2111 approves the merge request2112 when the sha param is correct2113 approves the merge request2114 when the sha param is incorrect2115 returns a 4092116 does not approve the merge request2117 when project requires force auth for approval2118 does not approve the merge request with no password2119 does not approve the merge request with incorrect password2120 approves the merge request with correct password2121 POST :id/merge_requests/:merge_request_iid/unapprove2122 as a user who has approved the merge request2123 unapproves the merge request2124 only shows group approvers visible to the user2125Groups::ContributionAnalyticsController2126 #authorize_read_contribution_analytics!2127 when feature is available to the group2128 when user is an auditor2129 allows access2130 when user has access to the group2131 when user has access to the feature2132 renders 2002133 when user does not have access to the feature2134 renders 4042135 #check_contribution_analytics_available!2136 when feature is not available to the group2137 renders 4042138 with contributions2139 sets instance variables properly2140 returns member contributions JSON when format is JSON2141 includes projects in subgroups2142 excludes projects outside of the group2143 does not cause N+1 queries when the format is JSON2144 with views2145 avoids a N+1 query in #show2146 GET #show2147 behaves like disabled when using an external authorization service2148 works when the feature is not enabled2149 renders a 404 with a message when the feature is enabled2150 behaves like tracking unique visits2151 tracks unique visit if the format is HTML2152 tracks unique visit if DNT is not enabled2153 does not track unique visit if DNT is enabled2154 does not track unique visit if the format is JSON2155 behaves like Snowplow event tracking with RedisHLL context2156 behaves like Snowplow event tracking2157 is not emitted if FF is disabled2158 is emitted2159getting the compliance violations for a group2160 when the user is unauthorized2161 returns nil2162 when the user is authorized2163 without any filters or sorting2164 finds all the compliance violations2165 filtering the results2166 when given an array of project IDs2167 finds all the compliance violations2168 when given merged at dates2169 merged_params: {"mergedBefore"=>"2022-11-09"}, result: lazy { violation_output }2170 finds all the compliance violations2171 merged_params: {"mergedAfter"=>"2022-11-09"}, result: lazy { violation2_output }2172 finds all the compliance violations2173 merged_params: {"mergedBefore"=>"2022-11-11", "mergedAfter"=>"2022-11-09"}, result: lazy { violation2_output }2174 finds all the compliance violations2175 sorting and pagination2176 sort_param: :SEVERITY_LEVEL_ASC, all_records: violation_ids_asc2177 behaves like sorted paginated query2178 behaves like requires variables2179 shared example requires variables to be set2181 when sorting2182 sorts correctly2183 when paginating2184 paginates correctly2185 sort_param: :SEVERITY_LEVEL_DESC, all_records: violation_ids_desc2186 behaves like sorted paginated query2187 behaves like requires variables2188 shared example requires variables to be set2190 when sorting2191 sorts correctly2192 when paginating2193 paginates correctly2194 sort_param: :VIOLATION_REASON_ASC, all_records: violation_ids_asc2195 behaves like sorted paginated query2196 behaves like requires variables2197 shared example requires variables to be set2199 when sorting2200 sorts correctly2201 when paginating2202 paginates correctly2203 sort_param: :VIOLATION_REASON_DESC, all_records: violation_ids_desc2204 behaves like sorted paginated query2205 behaves like requires variables2206 shared example requires variables to be set2208 when sorting2209 sorts correctly2210 when paginating2211 paginates correctly2212 sort_param: :MERGE_REQUEST_TITLE_ASC, all_records: violation_ids_asc2213 behaves like sorted paginated query2214 behaves like requires variables2215 shared example requires variables to be set2217 when sorting2218 sorts correctly2219 when paginating2220 paginates correctly2221 sort_param: :MERGE_REQUEST_TITLE_DESC, all_records: violation_ids_desc2222 behaves like sorted paginated query2223 behaves like requires variables2224 shared example requires variables to be set2226 when sorting2227 sorts correctly2228 when paginating2229 paginates correctly2230 sort_param: :MERGED_AT_ASC, all_records: violation_ids_asc2231 behaves like sorted paginated query2232 behaves like requires variables2233 shared example requires variables to be set2235 when sorting2236 sorts correctly2237 when paginating2238 paginates correctly2239 sort_param: :MERGED_AT_DESC, all_records: violation_ids_desc2240 behaves like sorted paginated query2241 behaves like requires variables2242 shared example requires variables to be set2244 when sorting2245 sorts correctly2246 when paginating2247 paginates correctly2248API::GroupBoards2249 behaves like group and project boards2250 avoids N+1 queries2251 GET /groups/:id/boards2252 when unauthenticated2253 returns authentication error2254 when authenticated2255 returns the issue boards2256 GET /groups/:id/boards/:board_id2257 get a single board by id2258 PUT /groups/:id/boards/:board_id2259 updates the board name2260 updates the issue board booleans2261 GET /groups/:id/boards/:board_id/lists2262 returns issue board lists2263 returns 404 if board not found2264 GET /groups/:id/boards/:board_id/lists/:list_id2265 returns a list2266 returns 404 if list not found2267 POST /groups/:id/boards/lists2268 creates a new issue board list for labels2269 returns 400 when creating a new list if label_id is invalid2270 returns 403 for members with guest role2271 PUT /groups/:id/boards/:board_id/lists/:list_id to update only position2272 updates a list2273 returns 404 error if list id not found2274 returns 403 for members with guest role2275 DELETE /groups/:id/boards/lists/:list_id2276 rejects a non member from deleting a list2277 rejects a user with guest role from deleting a list2278 returns 404 error if list id not found2279 when the user is parent owner2280 deletes the list if an admin requests it2281 behaves like 412 response2282 for a modified ressource2283 returns 412 with a JSON error2284 for an unmodified ressource2285 returns 204 with an empty body2286 behaves like multiple and scoped issue boards2287 multiple issue boards2288 POST /groups/:id/boards2289 creates a board2290 PUT /groups/:id/boards/:board_id2291 updates a board2292 does not remove missing attributes from the board2293 allows removing optional attributes2294 DELETE /groups/:id/boards/:board_id2295 deletes a board2296 with the scoped_issue_board-feature available2297 returns the milestone when the `scoped_issue_board` feature is enabled2298 hides the milestone when the `scoped_issue_board` feature is disabled2299 POST /groups/:id/boards/:board_id/lists2300 behaves like milestone board list2301 when milestone_id is sent2302 returns 400 if milestone is not found2303 returns 400 if milestone list feature is not available2304 creates a milestone list if milestone is found2305 behaves like assignee board list2306 when assignee_id is sent2307 returns 400 if user is not found2308 returns 400 if assignee list feature is not available2309 creates an assignee list if user is found2310 behaves like iteration board list2311 when iteration_id is sent2312 returns 400 if iteration is not found2313 returns 400 if not licensed2314 creates an iteration list if iteration is found2315Projects::AuditEventsController2316 GET #index2317 when authorized as auditor2318 tracks search event2319 behaves like when audit_events feature is available2320 renders index with 200 status code2321 invokes AuditEventFinder with correct arguments2322 behaves like AuditEventFinder params2323 has the correct params2324 author2325 when no author entity type is specified2326 behaves like AuditEventFinder params2327 has the correct params2328 when the author entity type is specified2329 behaves like AuditEventFinder params2330 has the correct params2331 ordering2332 when no sort order is specified2333 behaves like orders by id descending2334 orders by id descending2335 when sorting by latest events first2336 behaves like orders by id descending2337 orders by id descending2338 when sorting by oldest events first2339 orders by id ascending2340 when sorting by an unsupported sort order2341 behaves like orders by id descending2342 orders by id descending2343 when invalid date2344 created_before: "invalid-date", created_after: nil2345 returns an error2346 created_before: nil, created_after: true2347 returns an error2348 created_before: "2021-13-10", created_after: nil2349 returns an error2350 created_before: nil, created_after: "2021-02-31"2351 returns an error2352 created_before: "2021-03-31", created_after: "2021-02-31"2353 returns an error2354 when date range is greater than limit2355 behaves like a date range error is returned2356 created_after: "2021-01-01", created_before: "2021-02-02"2357 returns an error2358 created_after: "2022-01-31", created_before: nil2359 returns an error2360 behaves like pagination2361 sets instance variables2362 paginates audit events, without casting a count query2363 behaves like when audit_events feature is not available2364 renders 4042365 when authorized as maintainer2366 tracks search event2367 behaves like when audit_events feature is available2368 renders index with 200 status code2369 invokes AuditEventFinder with correct arguments2370 behaves like AuditEventFinder params2371 has the correct params2372 author2373 when no author entity type is specified2374 behaves like AuditEventFinder params2375 has the correct params2376 when the author entity type is specified2377 behaves like AuditEventFinder params2378 has the correct params2379 ordering2380 when no sort order is specified2381 behaves like orders by id descending2382 orders by id descending2383 when sorting by latest events first2384 behaves like orders by id descending2385 orders by id descending2386 when sorting by oldest events first2387 orders by id ascending2388 when sorting by an unsupported sort order2389 behaves like orders by id descending2390 orders by id descending2391 when invalid date2392 created_before: "invalid-date", created_after: nil2393 returns an error2394 created_before: nil, created_after: true2395 returns an error2396 created_before: "2021-13-10", created_after: nil2397 returns an error2398 created_before: nil, created_after: "2021-02-31"2399 returns an error2400 created_before: "2021-03-31", created_after: "2021-02-31"2401 returns an error2402 when date range is greater than limit2403 behaves like a date range error is returned2404 created_after: "2021-01-01", created_before: "2021-02-02"2405 returns an error2406 created_after: "2022-01-31", created_before: nil2407 returns an error2408 behaves like pagination2409 sets instance variables2410 paginates audit events, without casting a count query2411 behaves like when audit_events feature is not available2412 renders 4042413 unauthorized2414 renders 4042415Groups::SsoController2416 SAML configured2417 has status 2002418 malicious redirect parameter falls back to group_path2419 passes group name to the view2420 unlinking user2421 allows account unlinking2422 with block_password_auth_for_saml_users feature flag switched off2423 does not sign out user provisioned by this group2424 with block_password_auth_for_saml_users feature flag switched on2425 signs out user provisioned by this group2426 when SAML is disabled for the group2427 renders 4042428 still allows account unlinking2429 when SAML trial has expired2430 DELETE /unlink still allows account unlinking2431 GET /saml renders 4042432 when user is not signed in2433 acts as route not found2434 when group has moved2435 redirects to new location2436 when current user has a SAML provider configured2437 renders `devise_empty` template2438 when current user does not have a SAML provider configured2439 renders `devise` template2440 saml_provider is unconfigured for the group2441 when user cannot configure Group SAML2442 renders 4042443 when user can admin group_saml2444 redirects to the Group SAML config page2445 sets a flash message explaining that setup is required2446 group does not exist2447 renders 4042448 when user is not signed in2449 acts as route not found2450 GET sign_up_form2451 with SAML configured2452 and group managed accounts enforced2453 renders 4042454 and oauth data available2455 has status 2002456 suggests first available username automatically2457 and belongs to different group2458 renders 4042459 and group managed accounts enforcing is disabled2460 renders 4042461 POST sign_up2462 calls for GroupSaml::SignUpService2463 when service fails2464 renders the form2465 when service succeeds2466 redirects to sign in2467 when user is already signed in2468 signs user out2469 POST authorize_managed_account2470 when user is already signed in2471 when service succeeds2472 redirects to group2473 when service fails2474 renders the form2475AutocompleteController2476 GET users2477 project members2478 GET #users that can push to protected branches2479 returns authorized users2480 GET #users that can push code2481 returns authorized users2482 GET #users that can push to protected branches, including the current user2483 returns authorized users2484 GET #users with suggested users2485 returns the suggested reviewers2486 when suggested reviewers is unavailable for project2487 returns no suggested reviewers2488 when search param is not blank2489 returns no suggested reviewers2490 when merge_request_iid is blank2491 returns no suggested reviewers2492 when merge_request is closed2493 returns no suggested reviewers2494 when merge_request has been merged2495 returns no suggested reviewers2496 groups2497 while fetching all groups belonging to a project2498 returns groups invited to the project that the user can see2499 while fetching all groups belonging to a project the current user cannot access2500 is expected to be not found2501 while fetching all groups belonging to an invalid project ID2502 is expected to be not found2503 GET group_subgroups2504 returns subgroups2505 when requesting to subgroup 12506 returns grandchild2507 when requesting to subgroup 22508 returns empty2509 when user does not have an access to the group2510 returns not found2511 GET project_routes2512 as admin2513 while searching for a project by namespace2514 returns the matching routes2515 while searching for a project by path2516 returns the matching routes2517 as project owner2518 while searching for a project by namespace2519 returns the matching routes2520 while searching for a project by path2521 returns the matching routes2522 while searching for nothing2523 returns the matching routes2524 GET namespace_routes2525 as admin2526 while searching for a namespace by group path2527 returns the matching routes2528 while searching for a namespace by user path2529 returns the matching routes2530 as a user2531 while searching for a namespace by path2532 returns the matching routes2533 as group member2534 while searching for a namespace by path2535 returns the matching routes2536 while searching for nothing2537 returns the matching routes2538Projects::Security::ConfigurationController2539 GET #show2540 user_role: :guest, security_dashboard_enabled: false, status: :forbidden, selector: nil2541 responds with the correct status2542 when the "Security & Compliance" feature is disabled2543 is expected to respond with numeric status code not_found2544 user_role: :guest, security_dashboard_enabled: true, status: :forbidden, selector: nil2545 responds with the correct status2546 when the "Security & Compliance" feature is disabled2547 is expected to respond with numeric status code not_found2548 user_role: :developer, security_dashboard_enabled: false, status: :ok, selector: "#js-security-configuration"2549 responds with the correct status2550 when the "Security & Compliance" feature is disabled2551 is expected to respond with numeric status code not_found2552 user_role: :developer, security_dashboard_enabled: true, status: :ok, selector: "#js-security-configuration"2553 responds with the correct status2554 when the "Security & Compliance" feature is disabled2555 is expected to respond with numeric status code not_found2556 with developer and security dashboard feature enabled2557 responds in json format when requested2558 renders data on the project's security configuration2559 when the latest pipeline used Auto DevOps2560 reports that Auto DevOps is enabled2561 POST #auto_fix2562 with feature enabled2563 with sufficient permissions2564 with setup feature param2565 processes request and updates setting2566 without setup feature param2567 processes request and updates setting2568 without processable feature2569 does not pass validation2570 without sufficient permissions2571 is expected to respond with numeric status code not_found2572 with feature disabled2573 is expected to respond with numeric status code not_found2574Admin::ClustersController2575 behaves like cluster metrics2576 GET #metrics2577 functionality2578 can query Prometheus2579 queries cluster metrics2580 when response has content2581 returns prometheus query response2582 when response has no content2583 returns prometheus query response2584 without Prometheus2585 returns not found2586 cannot query Prometheus2587 returns not found2588 GET environments2589 functionality2590 responds successfully2591 security2592 is expected to be allowed for admin. Expected: 200,201,204,302 Got: 2002593 is expected to be denied for user. Expected: 401,404 Got: 4042594 is expected to be denied for external. Expected: 401,404 Got: 4042595 GET show2596 expires etag cache to force reload environments list2597Create an external audit event destination2598 when feature is licensed2599 when current user is a group owner2600 resolves group by full path2601 creates the destination2602 behaves like creates an audit event2603 audits the creation2604 when overriding verification token2605 creates the destination2606 behaves like creates an audit event2607 audits the creation2608 when verification token is invalid2609 when verification token is too short2610 returns correct errors2611 behaves like a mutation that does not create a destination2612 does not destroy the destination2613 does not audit the creation2614 when verification token is too long2615 returns correct errors2616 behaves like a mutation that does not create a destination2617 does not destroy the destination2618 does not audit the creation2619 when destination is invalid2620 returns correct errors2621 behaves like a mutation that does not create a destination2622 does not destroy the destination2623 does not audit the creation2624 when group is a subgroup2625 behaves like a mutation that does not create a destination2626 does not destroy the destination2627 does not audit the creation2628 when current user is a group maintainer2629 behaves like a mutation that does not create a destination2630 does not destroy the destination2631 does not audit the creation2632 when current user is a group developer2633 behaves like a mutation that does not create a destination2634 does not destroy the destination2635 does not audit the creation2636 when current user is a group guest2637 behaves like a mutation that does not create a destination2638 does not destroy the destination2639 does not audit the creation2640 when feature is unlicensed2641 does not create the destination2642 behaves like a mutation on an unauthorized resource2643 behaves like a mutation that returns top-level errors2644 is expected to contain exactly "The resource that you are attempting to access does not exist or you don't have permission to perform this action"2645API::RelatedEpicLinks2646 GET /related_epics2647 when user cannot read epics2648 returns 4042649 when user can read epics2650 returns related epics2651 returns multiple links without N + 12652 behaves like a not available endpoint2653 when epics feature is not available2654 is expected to eq 4032655 when related_epics feature is not available2656 is expected to eq 4032657 POST /related_epics2658 when unauthenticated2659 returns 4012660 when user can not access source epic2661 behaves like not found resource2662 returns 4042663 when user can only read source epic2664 behaves like forbidden resource2665 returns 4032666 when user can manage source epic2667 behaves like not found resource2668 returns 4042669 when user is guest in target group2670 behaves like forbidden resource2671 returns 4032672 when target epic is confidential2673 behaves like forbidden resource2674 returns 4032675 when user can relate epics2676 returns 201 status and contains the expected link response2677 returns 201 when sending full path of target group2678 behaves like a not available endpoint2679 when epics feature is not available2680 is expected to eq 4032681 when related_epics feature is not available2682 is expected to eq 4032683 when target epic is not found2684 behaves like not found resource2685 returns 4042686 DELETE /related_epics2687 when unauthenticated2688 returns 4012689 when user can not access source epic2690 behaves like not found resource2691 returns 4042692 when user can only read source epic2693 behaves like forbidden resource2694 returns 4032695 when user can manage source epic2696 behaves like not found resource2697 returns 4042698 when user is guest in target group2699 behaves like not found resource2700 returns 4042701 when related_epic_link_id belongs to a different epic2702 behaves like not found resource2703 returns 4042704 when user can relate epics2705 returns 200 status and contains the expected link response2706 behaves like a not available endpoint2707 when epics feature is not available2708 is expected to eq 4032709 when related_epics feature is not available2710 is expected to eq 4032711SmartcardController2712 #auth2713 with smartcard_auth enabled2714 redirects to extract certificate2715 with provider param2716 forwards the provider param2717 with smartcard_auth disabled2718 renders 4042719 #extract_certificate2720 with smartcard_auth enabled2721 redirects to verify certificate2722 with provider param2723 forwards the provider param2724 missing NGINX client certificate header2725 renders unauthorized2726 request from different host / port2727 renders 4042728 with smartcard_auth disabled2729 renders 4042730 #verify_certificate2731 Smartcard::Certificate2732 behaves like a client certificate authentication2733 with smartcard_auth enabled2734 allows sign in2735 redirects to root2736 logs audit event2737 stores active session2738 user does not exist2739 signup allowed2740 creates user2741 signup disabled2742 renders 4012743 missing client certificate param2744 renders unauthorized2745 with smartcard_auth disabled2746 renders 4042747 user already exists2748 finds existing user2749 certificate header formats from NGINX2750 escaped format2751 behaves like valid certificate header2752 authenticates user2753 deprecated format2754 behaves like valid certificate header2755 authenticates user2756 Smartcard::LdapCertificate2757 sets correct parameters for LDAP search2758 behaves like a client certificate authentication2759 with smartcard_auth enabled2760 allows sign in2761 redirects to root2762 logs audit event2763 stores active session2764 user does not exist2765 signup allowed2766 creates user2767 signup disabled2768 renders 4012769 missing client certificate param2770 renders unauthorized2771 with smartcard_auth disabled2772 renders 4042773 user already exists2774 finds existing user2775 user has a different identity2776 doesn't login a user2777 doesn't create a new user entry either2778API::ResourceLabelEvents2779 when eventable is an Epic2780 behaves like resource_label_events API2781 GET /groups/:id/epics/:noteable_id/resource_label_events2782 with local label reference2783 returns an array of resource label events2784 returns a 404 error when eventable id not found2785 returns 404 when not authorized2786 with cross-project label reference2787 returns cross references accessible by user2788 does not return cross references not accessible by user2789 GET /groups/:id/epics/:noteable_id/resource_label_events/:event_id2790 with local label reference2791 returns a resource label event by id2792 returns 404 when not authorized2793 returns a 404 error if resource label event not found2794 with cross-project label reference2795 returns a 404 error if cross-reference project is not accessible2796 pagination2797 returns the second page2798Groups::Epics::RelatedEpicLinksController2799 GET /*group_id/:group_id/epics/:epic_id/related_epic_links2800 returns JSON response2801 avoids N+1 queries2802 behaves like a not available action2803 when related_epics are not available2804 returns not_found error2805 DELETE /*group_id/:group_id/epics/:epic_id/related_epic_links/:link_id2806 deletes related epic link2807 behaves like a not available action2808 when related_epics are not available2809 returns not_found error2810 when related epic link id is not valid2811 returns 4042812 when related epic link does not belong to epic2813 does not delete related epic link2814 POST /groups/*group_id/-/epics/:epic_id/related_epic_links2815 with success2816 returns JSON response2817 delegates the creation of the related epic link to Epics::RelatedEpicLinks::CreateService2818 creates a new Epic::RelatedEpicLink record2819 returns correct relation path in response2820 with failure2821 when unauthorized2822 returns 4032823 when failing service result2824 returns failure JSON2825 behaves like a not available action2826 when related_epics are not available2827 returns not_found error2828getting Incident Management on-call shifts2829 returns the correct properties of the on-call shifts2830 behaves like a working graphql query2831 returns a successful response2832 performance2833 for past and future shifts2834 behaves like avoids N+1 queries for additional generated shift2835 is expected not to exceed query limit #<ActiveRecord::QueryRecorder:0x00007f0fba033330 @data={"/app/models/concerns/token_authenticatable_s...@skip_cached=true, @skip_schema_queries=true, @query_recorder_debug=false, @log_file=nil, @count=19>2836 behaves like avoids N+1 queries for additional historical shift2837 is expected not to exceed query limit #<ActiveRecord::QueryRecorder:0x00007f0fb9141cc8 @data={"/app/models/concerns/token_authenticatable_s...@skip_cached=true, @skip_schema_queries=true, @query_recorder_debug=false, @log_file=nil, @count=19>2838 behaves like avoids N+1 queries for additional participant2839 is expected not to exceed query limit #<ActiveRecord::QueryRecorder:0x00007f0fcb9fd288 @data={"/app/models/concerns/token_authenticatable_s...@skip_cached=true, @skip_schema_queries=true, @query_recorder_debug=false, @log_file=nil, @count=19>2840 behaves like adds only one query for each additional rotation with participants2841 is expected not to exceed query limit #<ActiveRecord::QueryRecorder:0x00007f0fdbedf4d0 @data={"/app/models/concerns/token_authenticatable_s...@skip_cached=true, @skip_schema_queries=true, @query_recorder_debug=false, @log_file=nil, @count=19>2842 for future shifts only2843 behaves like avoids N+1 queries for additional generated shift2844 is expected not to exceed query limit #<ActiveRecord::QueryRecorder:0x00007f0ff8b05838 @data={"/app/models/concerns/token_authenticatable_s...@skip_cached=true, @skip_schema_queries=true, @query_recorder_debug=false, @log_file=nil, @count=18>2845 behaves like avoids N+1 queries for additional participant2846 is expected not to exceed query limit #<ActiveRecord::QueryRecorder:0x00007f0fb9468988 @data={"/app/models/concerns/token_authenticatable_s...@skip_cached=true, @skip_schema_queries=true, @query_recorder_debug=false, @log_file=nil, @count=18>2847 behaves like avoids N+1 queries for additional rotation with participants2848 is expected not to exceed query limit #<ActiveRecord::QueryRecorder:0x00007f0fcb4e7eb0 @data={"/app/models/concerns/token_authenticatable_s...@skip_cached=true, @skip_schema_queries=true, @query_recorder_debug=false, @log_file=nil, @count=18>2849 for past shifts only2850 behaves like avoids N+1 queries for additional historical shift2851 is expected not to exceed query limit #<ActiveRecord::QueryRecorder:0x00007f0fda2b8f90 @data={"/app/models/concerns/token_authenticatable_s...@skip_cached=true, @skip_schema_queries=true, @query_recorder_debug=false, @log_file=nil, @count=18>2852 behaves like avoids N+1 queries for additional participant2853 is expected not to exceed query limit #<ActiveRecord::QueryRecorder:0x00007f0fea9bdb78 @data={"/app/models/concerns/token_authenticatable_s...@skip_cached=true, @skip_schema_queries=true, @query_recorder_debug=false, @log_file=nil, @count=18>2854 behaves like adds only one query for each additional rotation with participants2855 is expected not to exceed query limit #<ActiveRecord::QueryRecorder:0x00007f0fb9640d28 @data={"/app/models/concerns/token_authenticatable_s...@skip_cached=true, @skip_schema_queries=true, @query_recorder_debug=false, @log_file=nil, @count=18>2856 without required argument starts_at2857 raises an exception2858 without required argument ends_at2859 raises an exception2860API::PypiPackages2861 # order random2862 for the file download endpoint2863 GET /api/v4/groups/:id/-/packages/pypi/files/:sha256/*file_identifier2864 behaves like with ip restriction2865 in group without restriction2866 behaves like PyPI package download2867 for user type maintainer2868 returns the package listing2869 behaves like returning response status2870 returns success2871 behaves like a package tracking event2872 creates a gitlab tracking event pull_package2873 behaves like bumping the package last downloaded at field2874 bumps last_downloaded_at2875 in group with restriction2876 with address within the range2877 behaves like PyPI package download2878 for user type maintainer2879 returns the package listing2880 behaves like returning response status2881 returns success2882 behaves like a package tracking event2883 creates a gitlab tracking event pull_package2884 behaves like bumping the package last downloaded at field2885 bumps last_downloaded_at2886 with address outside the range2887 behaves like returning response status2888 returns not_found2889 GET /api/v4/projects/:id/packages/pypi/files/:sha256/*file_identifier2890 behaves like with ip restriction2891 in group without restriction2892 behaves like PyPI package download2893 for user type maintainer2894 returns the package listing2895 behaves like returning response status2896 returns success2897 behaves like a package tracking event2898 creates a gitlab tracking event pull_package2899 behaves like bumping the package last downloaded at field2900 bumps last_downloaded_at2901 in group with restriction2902 with address within the range2903 behaves like PyPI package download2904 for user type maintainer2905 returns the package listing2906 behaves like returning response status2907 returns success2908 behaves like a package tracking event2909 creates a gitlab tracking event pull_package2910 behaves like bumping the package last downloaded at field2911 bumps last_downloaded_at2912 with address outside the range2913 behaves like returning response status2914 returns not_found2915get list of epic boards2916 when the user does not have access to the epic board group2917 returns nil group2918 when user can access the epic board group2919 avoids N+1 queries2920 sorting and pagination2921 behaves like sorted paginated query2922 behaves like requires variables2923 shared example requires variables to be set2925 when sorting2926 sorts correctly2927 when paginating2928 paginates correctly2929 field values2930 returns the correct values for collapsed2931 returns the correct metadata values2932 when totalWeight not requested2933 does not required the value from the service2934 when epic_board_total_weight flag is disabled2935 returns nil totalWeight2936API::GroupVariables2937 GET /groups/:id/variables/:key2938 when there are two variables with the same key on different environments2939 when filter[environment_scope] is not passed2940 returns 4092941 when filter[environment_scope] is passed2942 returns the variable2943 when wrong filter[environment_scope] is passed2944 returns not_found2945 when there is only one variable with provided key2946 returns not_found2947 POST /groups/:id/variables2948 scoped variables2949 :group_scoped_ci_variables licensed feature is available2950 creates a variable with the provided environment scope2951 a variable with the same key and scope exists already2952 does not create a variable2953 :group_scoped_ci_variables licensed feature is not available2954 creates a variable, but does not use the provided environment scope2955 a variable with the same key and scope exists already2956 does not create a variable2957 PUT /groups/:id/variables/:key2958 scoped variables2959 :group_scoped_ci_variables licensed feature is available2960 updates the variable2961 a variable with the same key and scope exists already2962 does not update the variable2963 :group_scoped_ci_variables licensed feature is not available2964 does not update the variable2965Updating a DAST Profile2966 behaves like an on-demand scan mutation when user cannot run an on-demand scan2967 when a user does not have access to the project2968 behaves like a mutation that returns a top-level access error2969 is expected to contain exactly "The resource that you are attempting to access does not exist or you don't have permission to perform this action"2970 when a user does not have access to run a dast scan on the project2971 behaves like a mutation that returns a top-level access error2972 is expected to contain exactly "The resource that you are attempting to access does not exist or you don't have permission to perform this action"2973 behaves like an on-demand scan mutation when user can run an on-demand scan2974 returns an empty errors array2975 returns a non-nil dastProfile2976 returns a non-nil pipelineUrl2977 updates the dast_profile2978 when on demand scan licensed feature is not available2979 behaves like a mutation that returns a top-level access error2980 is expected to contain exactly "The resource that you are attempting to access does not exist or you don't have permission to perform this action"2981 when updating fails2982 returns an error2983Update an external audit event destination2984 when feature is licensed2985 when current user is a group owner but destination belongs to another group2986 behaves like a mutation on an unauthorized resource2987 behaves like a mutation that returns top-level errors2988 is expected to contain exactly "The resource that you are attempting to access does not exist or you don't have permission to perform this action"2989 behaves like a mutation that does not update a destination2990 does not destroy the destination2991 does not audit the update2992 when current user is a group owner of a different group2993 behaves like a mutation on an unauthorized resource2994 behaves like a mutation that returns top-level errors2995 is expected to contain exactly "The resource that you are attempting to access does not exist or you don't have permission to perform this action"2996 behaves like a mutation that does not update a destination2997 does not destroy the destination2998 does not audit the update2999 when current user is a group owner3000 updates the destination3001 audits the update3002 when current user is a group maintainer3003 behaves like a mutation that does not update a destination3004 does not destroy the destination3005 does not audit the update3006 when current user is a group developer3007 behaves like a mutation that does not update a destination3008 does not destroy the destination3009 does not audit the update3010 when current user is a group guest3011 behaves like a mutation that does not update a destination3012 does not destroy the destination3013 does not audit the update3014 when feature is unlicensed3015 does not destroy the destination3016 behaves like a mutation on an unauthorized resource3017 behaves like a mutation that returns top-level errors3018 is expected to contain exactly "The resource that you are attempting to access does not exist or you don't have permission to perform this action"3019Subscriptions::GroupsController3020 GET #edit3021 with an unauthenticated user3022 is expected to respond with numeric status code redirect3023 is expected to redirect to "/users/sign_in"3024 with an authenticated user3025 is expected to respond with numeric status code ok3026 PUT #update3027 with an unauthenticated user3028 is expected to respond with numeric status code redirect3029 is expected to redirect to "/users/sign_in"3030 with an authenticated user who is not a group owner3031 is expected to respond with numeric status code ok3032 is expected to render template edit3033 does not update the name3034 with an authenticated user3035 updates the name3036 updates the path3037 updates the visibility_level3038 redirects to the group path3039 sets flash notice3040 with new_user param3041 sets flash notice3042 when the group cannot be saved3043 does not update the name3044 does not update the path3045 re-renders the edit template3046Projects::Analytics::CodeReviewsController3047 GET /*namespace_id/:project_id/analytics/code_reviews3048 for reporter+3049 with code_review_analytics included in plan3050 is success3051 without code_review_analytics in plan3052 is not found3053 for guests3054 is not found3055Projects::Analytics::CodeReviewsController3056 behaves like tracking unique visits3057 tracks unique visit if the format is HTML3058 tracks unique visit if DNT is not enabled3059 does not track unique visit if DNT is enabled3060 does not track unique visit if the format is JSON3061 behaves like Snowplow event tracking with RedisHLL context3062 behaves like Snowplow event tracking3063 is not emitted if FF is disabled3064 is emitted3065Creating a DAST Profile3066 behaves like an on-demand scan mutation when user cannot run an on-demand scan3067 when a user does not have access to the project3068 behaves like a mutation that returns a top-level access error3069 is expected to contain exactly "The resource that you are attempting to access does not exist or you don't have permission to perform this action"3070 when a user does not have access to run a dast scan on the project3071 behaves like a mutation that returns a top-level access error3072 is expected to contain exactly "The resource that you are attempting to access does not exist or you don't have permission to perform this action"3073 behaves like an on-demand scan mutation when user can run an on-demand scan3074 returns an empty errors array3075 returns dastProfile.id3076 returns dastProfile.editPath3077 returns a non-empty pipelineUrl3078 when on demand scan licensed feature is not available3079 behaves like a mutation that returns a top-level access error3080 is expected to contain exactly "The resource that you are attempting to access does not exist or you don't have permission to perform this action"3081 when dastProfileSchedule is present3082 creates a Dast::ProfileSchedule3083Namespace.projects3084 sorting and pagination3085 when sorting by STORAGE3086 behaves like sorted paginated query3087 behaves like requires variables3088 shared example requires variables to be set3090 when sorting3091 sorts correctly3092 when paginating3093 paginates correctly3094RegistrationsController3095 # order random3096 POST #create3097 when arkose labs session token verification is needed3098 when arkose_labs_token verification succeeds3099 records the user's data from Arkose Labs3100 behaves like creates the user3101 creates the user3102 when verification fails3103 does not record the user's data from Arkose Labs3104 behaves like renders new action with an alert flash3105 renders new action with an alert flash3106 when arkose labs session token verification is skipped3107 when :arkose_labs_signup_challenge feature flag is disabled3108 behaves like creates the user3109 creates the user3110 behaves like skips verification and data recording3111 skips verification and data recording3112 when arkose_labs_token param is not present3113 behaves like renders new action with an alert flash3114 renders new action with an alert flash3115 behaves like skips verification and data recording3116 skips verification and data recording3117 identity verification3118 when identity verification is turned off3119 sending confirmation instructions3120 sends Devise confirmation instructions3121 does not send custom confirmation instructions3122 sets the confirmation_sent_at time3123 sets the confirmation_token to the unencrypted Devise token3124 setting a session variable3125 does not set the `verification_user_id` session variable3126 redirection3127 redirects to the `users_almost_there_path`3128 when identity verification is turned on3129 sending confirmation instructions3130 does not send Devise confirmation instructions3131 sends custom confirmation instructions3132 sets the confirmation_sent_at time3133 sets the confirmation_token to the encrypted custom token3134 setting a session variable3135 sets the `verification_user_id` session variable3136 redirection3137 redirects to the `identity_verification_path`3138API::Dependencies3139 GET /projects/:id/dependencies3140 behaves like a gitlab tracking event3141 creates a gitlab tracking event view_dependencies3142 with an authorized user with proper permissions3143 returns paginated dependencies3144 returns vulnerabilities info3145 include license information to response3146 with nil package_manager3147 returns no dependencies3148 with filter options3149 returns yarn dependencies3150 with wrong key3151 returns error message3152 with pagination params3153 returns paginated dependencies3154 without permissions to see vulnerabilities3155 returns empty vulnerabilities3156 without permissions to see licenses3157 returns empty licenses3158 with authorized user without read permissions3159 responds with 403 Forbidden3160 with no project access3161 responds with 404 Not Found3162Projects::RequirementsManagement::RequirementsController3163 GET #index3164 private project3165 with authorized user3166 when feature is available3167 renders the index template3168 when feature is not available3169 behaves like response with 404 status3170 returns 4043171 with unauthorized user3172 when feature is available3173 behaves like response with 404 status3174 returns 4043175 with anonymous user3176 returns 3023177 public project3178 with requirements disabled3179 behaves like response with 404 status3180 returns 4043181 with requirements visible to project members3182 with authorized user3183 renders the index template3184 with unauthorized user3185 behaves like response with 404 status3186 returns 4043187 with requirements visible to everyone3188 with anonymous user3189 renders the index template3190 GET import_csv3191 with authorized user3192 when feature is available3193 when the upload is processed successfully3194 renders the correct message3195 when the upload returns an error3196 renders the error message3197 when feature is not available3198 behaves like response with 404 status3199 returns 4043200API::AuditEvents3201 Unique usage tracking3202 after calling all audit_events APIs as a single licensed user3203 tracks 3 separate events3204 reports one unique event3205 GET /audit_events3206 when authenticated, as a user3207 behaves like 403 response3208 returns 4033209 when authenticated, as an admin3210 audit events feature is not available3211 behaves like 403 response3212 returns 4033213 audit events feature is available3214 returns 200 response3215 includes the correct pagination headers3216 parameters3217 entity_type parameter3218 returns audit events of the provided entity type3219 entity_id parameter3220 returns audit_events of the provided entity id3221 requires entity_type parameter to be present3222 behaves like 400 response3223 returns 4003224 created_before parameter3225 returns audit events created before the given parameter3226 created_after parameter3227 returns audit events created after the given parameter3228 attributes3229 exposes the right attributes3230 keyset pagination3231 paginates the records correctly3232 on making requests with unsupported ordering structure3233 returns error3234 GET /audit_events/:id3235 when authenticated, as a user3236 behaves like 403 response3237 returns 4033238 when authenticated, as an admin3239 audit events feature is not available3240 behaves like 403 response3241 returns 4033242 audit events feature is available3243 audit event exists3244 returns 200 response3245 attributes3246 exposes the right attributes3247 audit event does not exist3248 behaves like 404 response3249 returns 4043250API::Analytics::CodeReviewAnalytics3251 GET code_review3252 is successful3253 with merge requests present3254 returns list of open MRs with pagination headers3255 with label & milestone filters3256 applies filter3257 with negation filters3258 applies filter3259 with any label filter present3260 applies filter3261 when user has no authorization3262 is not authorized3263 when feature is not available in plan3264 is not_authorized3265 when project_id is not specified3266 is not found3267Reposition and move epic between board lists3268 when epics are available3269 when user does not have permissions to admin the board3270 raises resource not available error3271 when user has permissions to admin the board3272 when required move params are missing3273 raises an error3274 moving an epic to another list3275 moves the epic to another list3276 repositioning an epic3277 when both move_before_id and move_after_id params are present3278 repositions the epic3279 when only move_before_id param is present3280 repositions the epic3281 when only move_after_id param is present3282 repositions the epic3283getting iterations3284 query for iterations by timeframe3285 without start date3286 returns error3287 without end date3288 returns error3289 with start and end date3290 does not have errors3291 query for iterations by cadence3292 with multiple cadences3293 returns iterations3294 searching by cadence title or iteration title and sorting by cadence and due date ASC3295 search: "two", ordered_expected_iterations: lazy { [past_iteration1, past_iteration2, upcoming_group_iteration] }3296 correctly returns ordered items3297 search: "iteration", ordered_expected_iterations: lazy { [closed_group_iteration, current_group_iteration, past_iteration1, past_iteration2, upcoming_group_iteration] }3298 correctly returns ordered items3299 query for iterations by state3300 with DEPRECATED `started` state3301 returns `current` iteration3302 with `current` state3303 returns `current` iteration3304 with `closed` state3305 returns `closed` iteration3306 when sorting by cadence and due date DESC3307 returns `closed` iteration sorted by due date DESC3308Create a Compliance Framework3309 framework feature is unlicensed3310 behaves like a mutation that returns errors in the response3311 is expected to contain exactly "Not permitted to create framework"3312 pipeline configuration feature is unlicensed3313 behaves like a mutation that returns errors in the response3314 is expected to contain exactly "Pipeline configuration full path feature is not available"3315 feature is licensed3316 namespace is a personal namespace3317 current_user is namespace owner3318 does not create a new compliance framework3319 behaves like a mutation that returns errors in the response3320 is expected to contain exactly "Failed to create framework" and "Namespace must be a group, user namespaces are not supported."3321 namespace is a group3322 current_user is group owner3323 behaves like a mutation that creates a compliance framework3324 creates a new compliance framework3325 returns the newly created framework3326 current_user is not a group owner3327 current_user is group owner3328 does not create a new compliance framework3329 behaves like a mutation that returns errors in the response3330 is expected to contain exactly "Not permitted to create framework"3331view audit events3332 GET /:namespace/:project/-/audit_events3333 returns 200 response3334 avoids N+1 DB queries3335Projects::BranchesController3336 GET #index3337 for mirrored projects with diverged branch3338 renders the diverged from upstream partial3339API::Dora::Metrics3340 GET /projects/:id/dora/metrics3341 metric: :deployment_frequency, value1: 1, value2: 23342 returns data3343 metric: :lead_time_for_changes, value1: 3, value2: 43344 returns data3345 metric: :time_to_restore_service, value1: 5, value2: 63346 returns data3347 metric: :change_failure_rate, value1: 7, value2: 43348 returns data3349 with multiple metrics3350 returns combined data3351 backwards compatibility for environment_tier3352 returns combined data3353 when user is guest3354 returns authorization error3355 GET /groups/:id/dora/metrics3356 metric: :deployment_frequency, value1: 1, value2: 23357 returns data3358 metric: :lead_time_for_changes, value1: 3, value2: 43359 returns data3360 metric: :time_to_restore_service, value1: 5, value2: 63361 returns data3362 metric: :change_failure_rate, value1: 7, value2: 43363 returns data3364 with multiple metrics3365 returns combined data3366 backwards compatibility for environment_tier3367 returns combined data3368 when user is guest3369 returns authorization error3370Setting the epic of an issue3371 returns an error if the user is not allowed to update the issue3372 return an error if issue can not be updated3373 sets given epic to the issue3374 removes existing epic if epic_id is nil3375API::ElasticsearchIndexedNamespaces3376 PUT /elasticsearch_indexed_namespaces/rollout3377 prohibits non-admin3378 invokes ElasticNamespaceRolloutWorker rollout3379 when parameters are incorrect3380 percentage: -1, plan: "ultimate"3381 errs3382 percentage: 101, plan: "ultimate"3383 errs3384 percentage: nil, plan: "ultimate"3385 errs3386 percentage: 1, plan: nil3387 errs3388 percentage: 1, plan: "foobar"3389 errs3390 PUT /elasticsearch_indexed_namespaces/rollback3391 prohibits non-admin3392 invokes ElasticNamespaceRolloutWorker rollback3393 when parameters are incorrect3394 percentage: -1, plan: "ultimate"3395 errs3396 percentage: 101, plan: "ultimate"3397 errs3398 percentage: nil, plan: "ultimate"3399 errs3400 percentage: 1, plan: nil3401 errs3402 percentage: 1, plan: "foobar"3403 errs3404Query.project(fullPath).dastScannerProfiles3405 when a user does not have access to the project3406 project response3407 is expected to be nil3408 when the user can run a dast scan3409 dast scanner profiles3410 is expected to be empty3411 when a user has access to multiple projects3412 dast scanner profiles3413 returns only the dast_scanner_profile for the requested project3414 when a user has access dast_scanner_profiles3415 dast scanner profiles3416 is expected not to be empty3417 first dast scanner profile id3418 is expected to eq "gid://gitlab/DastScannerProfile/3"3419Projects::Security::DastProfilesController3420 GET #index3421 when the "Security & Compliance" feature is disabled3422 is expected to respond with numeric status code not_found3423 feature available3424 user authorized3425 can access page3426 user not authorized3427 sees a 404 error3428 feature not available3429 license doesnt't support the feature3430 sees a 404 error3431Projects::IterationsController3432 index3433 behaves like iterations license is not available3434 behaves like returning response status3435 returns not_found3436 behaves like user is unauthorized3437 behaves like returning response status3438 returns not_found3439 behaves like project is under user namespace3440 behaves like returning response status3441 returns not_found3442 when user is authorized3443 redirects to the project iteration cadence index path3444 show3445 behaves like iterations license is not available3446 behaves like returning response status3447 returns not_found3448 behaves like user is unauthorized3449 behaves like returning response status3450 returns not_found3451 behaves like project is under user namespace3452 behaves like returning response status3453 returns not_found3454 when user is authorized3455 when current user cannot view the requested iteration3456 behaves like returning response status3457 returns not_found3458 when current user can view the requested iteration3459 redirects to the project iteration cadence iteration show path3460Project Environments query3461 # order random3462 with protected environments3463 returns protected environment attributes3464 returns deploy access levels3465 returns approval rules3466 when a specifc user is allowed to deploy3467 returns deploy access levels3468 when a specifc user is allowed to approve3469 returns approval rules3470 when a specifc group is allowed to deploy3471 returns deploy access levels3472 when a specifc group is allowed to approve3473 returns approval rules3474 when fetching protected environments for multiple environments3475 avoids N+1 query issue3476 when user does not have access to the environment3477 does not return protected environments3478Updating an iteration cadence3479 when the user does not have permission3480 does not update the iteration cadence3481 behaves like a mutation that returns a top-level access error3482 is expected to contain exactly "The resource that you are attempting to access does not exist or you don't have permission to perform this action"3483 when the user has permission3484 when iterations feature is disabled3485 behaves like a mutation that returns top-level errors3486 is expected to contain exactly "The resource that you are attempting to access does not exist or you don't have permission to perform this action"3487 when iterations feature is enabled3488 updates the iteration cadence3489 when there are ActiveRecord validation errors3490 does not update the iteration cadence3491 behaves like a mutation that returns errors in the response3492 is expected to contain exactly "Title can't be blank"3493 when required arguments are missing3494 returns error about required argument3495Creating a DAST Site Token3496 behaves like an on-demand scan mutation when user cannot run an on-demand scan3497 when a user does not have access to the project3498 behaves like a mutation that returns a top-level access error3499 is expected to contain exactly "The resource that you are attempting to access does not exist or you don't have permission to perform this action"3500 when a user does not have access to run a dast scan on the project3501 behaves like a mutation that returns a top-level access error3502 is expected to contain exactly "The resource that you are attempting to access does not exist or you don't have permission to perform this action"3503 behaves like an on-demand scan mutation when user can run an on-demand scan3504 returns an empty errors array3505 deletes dast_site_validations where state=passed3506 when on demand scan licensed feature is not available3507 behaves like a mutation that returns a top-level access error3508 is expected to contain exactly "The resource that you are attempting to access does not exist or you don't have permission to perform this action"3509Query.vulnerabilities.description3510 when vulnerability has no description and finding has description3511 returns finding information3512 when vulnerability has description and finding has description3513 returns finding information3514Setting the epic of an issue3515 returns an error if the user is not allowed to update the issue3516 returns an error if issue can not be updated3517 promotes the issue to epic3518 when epic has to be in a different group3519 when user cannot create epic in new group3520 does not promote the issue to epic3521 when user can create epic in new group3522 promotes the issue to epic3523Create an issue3524 creates the issue3525 when iterationId is provided3526 creates the issue3527 when iterationId and iterationWildcardId are provided3528 returns a mutually exclusive argument error3529Assigns scan execution policy project to a project/namespace3530 for project3531 behaves like assigns security policy project3532 when licensed feature is available3533 when user is an owner of the container3534 assigns the security policy project3535 when user is not an owner3536 behaves like a mutation that returns top-level errors3537 is expected to contain exactly "The resource that you are attempting to access does not exist or you don't have permission to perform this action"3538 when policy_project_id is invalid3539 behaves like a mutation that returns top-level errors3540 is expected to contain exactly "The resource that you are attempting to access does not exist or you don't have permission to perform this action"3541 when feature is not licensed3542 behaves like a mutation that returns top-level errors3543 is expected to contain exactly "The resource that you are attempting to access does not exist or you don't have permission to perform this action"3544 for namespace3545 behaves like assigns security policy project3546 when licensed feature is available3547 when user is an owner of the container3548 assigns the security policy project3549 when user is not an owner3550 behaves like a mutation that returns top-level errors3551 is expected to contain exactly "The resource that you are attempting to access does not exist or you don't have permission to perform this action"3552 when policy_project_id is invalid3553 behaves like a mutation that returns top-level errors3554 is expected to contain exactly "The resource that you are attempting to access does not exist or you don't have permission to perform this action"3555 when feature is not licensed3556 behaves like a mutation that returns top-level errors3557 is expected to contain exactly "The resource that you are attempting to access does not exist or you don't have permission to perform this action"3558Groups::SamlGroupLinksController3559 #index3560 behaves like checks authorization3561 renders 404 when the user is not authorized3562 when the SAML provider is enabled3563 responds with 2003564 #create3565 behaves like checks authorization3566 renders 404 when the user is not authorized3567 when the SAML provider is enabled3568 with valid parameters3569 responds with success3570 creates the group link3571 with missing parameters3572 displays an error3573 #destroy3574 behaves like checks authorization3575 renders 404 when the user is not authorized3576 when the SAML provider is enabled3577 with an existent group link3578 responds with success3579 removes the group link3580 with a non-existent group link3581 renders 4043582Emails::IdentityVerification3583 # order random3584 confirmation_instructions_email3585 is sent to the user3586 has the correct subject3587 has the mailgun suppression bypass header3588 includes the token3589 includes the expiration time3590 behaves like an email sent from GitLab3591 has the characteristics of an email sent from GitLab3592LicenseMailer3593 #approaching_active_user_count_limit3594 when license is present3595 is expected to have subject of "Your subscription is nearing its user limit"3596 is expected to be bcc'd to ["admin@example.com", "another_admin@example.com"]3597 is expected to have body including "your subscription GitLab Enterprise Edition Starter"3598 is expected to have body including "You have 20 active users"3599 is expected to have body including "the user limit of 21"3600 when license is not present3601 does not send email3602 when send with I18n.default_locale3603 is expected to have subject of "Your subscription is nearing its user limit"3604 is expected to be bcc'd to ["123@abc", "hjk@123"]3605 is expected to have body including "your subscription GitLab Enterprise Edition Starter"3606 is expected to have body including "You have 20 active users"3607 is expected to have body including "the user limit of 21"3608Creating a new on-call schedule3609 create a new on-call schedule3610 without required argument project_path3611 behaves like an invalid argument to the mutation3612 behaves like a mutation that returns top-level errors3613 is expected to contain exactly (include "invalid value for projectPath")3614 without required argument name3615 behaves like an invalid argument to the mutation3616 behaves like a mutation that returns top-level errors3617 is expected to contain exactly (include "invalid value for name")3618 without required argument timezone3619 behaves like an invalid argument to the mutation3620 behaves like a mutation that returns top-level errors3621 is expected to contain exactly (include "invalid value for timezone")3622Set an Epic Subscription3623 when epics feature is disabled3624 does not subscribe user to the epic3625 behaves like a mutation that returns a top-level access error3626 is expected to contain exactly "The resource that you are attempting to access does not exist or you don't have permission to perform this action"3627 when epics feature is enabled3628 when a user wants to subscribe to an epic3629 subscribes the user to the epic3630 when a user wants to unsubscribe from an epic3631 unsubscribes the user from the epic3632Groups::SeatUsageController3633 GET show3634 when authorized3635 when html format3636 redirects to /groups/%{group_id}/-/seat_usage3637 responds with 404 Not Found if the group is not top-level group3638 when csv format3639 responds with 404 Not Found if the group is not top-level group3640 when the group is a top-level group3641 when export is successful3642 streams the csv with 200 status code3643 when export fails3644 sets alert message and redirects3645 when unauthorized3646 when html format3647 renders 403 when user is not an owner3648 when csv format3649 renders 403 when user is not an owner3650getting Incident Management escalation policies3651 includes expected data3652 avoids N+1 queries3653 with multiple rules3654 orders rules by time and status3655Groups::ScimOauthController3656 when the feature is configured3657 POST #create3658 without token3659 creates a new SCIM token record3660 json3661 shows the token3662 shows the url3663 with token3664 does not create a new SCIM token record3665 updates the token3666 json3667 shows the token3668 shows the url3669API::Ci::Minutes3670 POST /namespaces/:id/minutes3671 with insufficient access3672 returns an error3673 with admin user3674 when the namespace cannot be found3675 behaves like not found error3676 returns an error3677 when the additional pack does not exist3678 creates a new additional pack3679 when the additional pack already exists3680 does not create a new additional pack and does not update the existing pack3681 when submitting multiple packs3682 when duplicate packs3683 creates only one new pack3684 when the packs are unique3685 creates all the packs3686 when the additional pack cannot be saved3687 returns an error3688 PATCH /namespaces/:id/minutes/move/:target_id3689 when unauthorized3690 returns an error3691 when authorized3692 when the namespace cannot be found3693 behaves like not found error3694 returns an error3695 when the target namespace cannot be found3696 behaves like not found error3697 returns an error3698 when the namespace is not a top-level namespace3699 returns an error3700 when the target namespace is not a top-level namespace3701 returns an error3702 when the transfer is successful3703 moves the packs and returns an accepted response3704SubscriptionsController3705 # order random3706 GET /payment_form3707 behaves like requires authentication3708 requires authentication3709 when user is undergoing identity verification3710 skips authentication3711 when user has verified a credit card3712 behaves like requires authentication3713 requires authentication3714 POST /validate_payment_method3715 behaves like requires authentication3716 requires authentication3717 when user is undergoing identity verification3718 skips authentication3719 when user has verified a credit card3720 behaves like requires authentication3721 requires authentication3722API::Experiments3723 GET /experiments3724 when on .com3725 returns a 401 for anonymous users3726 returns a 403 for users3727 returns a 403 for non human users3728 for gitlab team members3729 returns the feature flag details3730 understands the state of the feature flag and what that means for an experiment3731 the null_hypothesis as a canary3732 runs and tracks the expected events3733 returns a 400 if experimentation seems broken3734 publishes into a collection of experiments that have been run in the request3735 when not .com3736 returns a 403 for users3737Groups::Analytics::RepositoryAnalyticsController3738 GET show3739 is expected to respond with numeric status code success3740 tracks a pageview event in snowplow3741 when requesting a redirected path3742 redirects to the canonical path3743 when license is missing3744 is expected to respond with numeric status code forbidden3745 when the user has no access to the group3746 is expected to respond with numeric status code forbidden3747 when the user is an auditor3748 is expected to respond with numeric status code success3749Projects::Settings::SlacksController3750 GET show3751 when valid CSRF token is provided3752 calls service and redirects with no alerts if result is successful3753 calls service and redirects with the alert if there is error3754 when no CSRF token is provided3755 returns 4033756Groups::Security::VulnerabilitiesController3757 GET index3758 when security dashboard feature is enabled3759 and user is allowed to access group security vulnerabilities3760 is expected to respond with numeric status code ok3761 when user is not allowed to access group security vulnerabilities3762 is expected to respond with numeric status code ok3763 is expected to render template unavailable3764 when security dashboard feature is disabled3765 is expected to respond with numeric status code ok3766 is expected to render template unavailable3767Update list limit metrics3768 returns an error if the list cannot be found3769 updates the list limit metrics for limit metric all_metrics3770 updates the list limit metrics for limit metric issue_count3771 updates the list limit metrics for limit metric issue_weights3772 the current_user is not allowed to update the issue3773 returns an error3774 the list_id is not a valid ListID3775 behaves like an invalid argument to the mutation3776 behaves like a mutation that returns top-level errors3777 is expected to contain exactly (include "invalid value for listId")3778GeoInstrumentation3779 .track_geo_proxy_event3780 when the request is not proxied3781 does not track an event3782 when the request is proxied3783 when logged in3784 tracks a HLL event for unique geo proxied requests3785 when not logged in3786 does not track an event3787Groups::LdapSettingsController3788 PUT #update3789 as an owner3790 admin allows owners to modify ldap settings3791 changes the value of unlock_membership_to_ldap3792 ldap_settings_unlock_groups_by_owners is disabled3793 does not change the value of the unlock_membership_to_ldap3794 admin disallow owners to modify ldap settings3795 does not change the value of unlock_membership_to_ldap3796 as a maintainer3797 does not change the value of unlock_membership_to_ldap3798Update board epic user preferences3799 returns an error if user can not access the board3800 when user can access the board3801 returns an error if user can not access the epic3802 when user can access the epic3803 updates user preferences3804Deleting a DAST Profile3805 behaves like an on-demand scan mutation when user cannot run an on-demand scan3806 when a user does not have access to the project3807 behaves like a mutation that returns a top-level access error3808 is expected to contain exactly "The resource that you are attempting to access does not exist or you don't have permission to perform this action"3809 when a user does not have access to run a dast scan on the project3810 behaves like a mutation that returns a top-level access error3811 is expected to contain exactly "The resource that you are attempting to access does not exist or you don't have permission to perform this action"3812 behaves like an on-demand scan mutation when user can run an on-demand scan3813 returns an empty errors array3814 deletes the dast_profile3815 when on demand scan licensed feature is not available3816 behaves like a mutation that returns a top-level access error3817 is expected to contain exactly "The resource that you are attempting to access does not exist or you don't have permission to perform this action"3818Projects::IncidentManagement::OncallSchedulesController3819 GET #index3820 with read permissions3821 renders index with 200 status code3822 with admin permissions3823 renders index with 200 status code3824 unauthorized3825 responds with 4043826 with unavailable feature3827 responds with 4043828API::Features3829 POST /feature3830 when running on a Geo primary node3831 creates Geo cache invalidation event3832 when licensed feature name is given3833 returns bad request3834 when force=1 is set3835 allows to change state3836 DELETE /feature/:name3837 when running on a Geo primary node3838 creates Geo cache invalidation event3839Update of an existing epic board list3840 behaves like a GraphQL request to update board list3841 the user is not allowed to read board lists3842 behaves like a mutation that returns a top-level access error3843 is expected to contain exactly "The resource that you are attempting to access does not exist or you don't have permission to perform this action"3844 when user has permissions to admin board lists3845 updates the list position and collapsed state3846 when user has permissions to read board lists3847 updates the list collapsed state but not the list position3848Query.project(fullPath).corpuses3849 when the user can read corpus for the project3850 returns corpus and package3851 when the user cannot read corpus for the project3852 returns nil3853Create test case3854 #resolve3855 when quality management feature is not available3856 behaves like a mutation that returns top-level errors3857 is expected to contain exactly "The resource that you are attempting to access does not exist or you don't have permission to perform this action"3858 when quality management feature is available3859 when user can create test cases3860 creates new test case3861 with invalid arguments3862 behaves like an invalid argument to the mutation3863 behaves like a mutation that returns top-level errors3864 is expected to contain exactly (include "invalid value for notValid")3865 when user cannot create test cases3866 behaves like a mutation that returns top-level errors3867 is expected to contain exactly "The resource that you are attempting to access does not exist or you don't have permission to perform this action"3868Mutations::Boards::EpicBoards::Create3869 when the user does not have permission3870 behaves like a mutation that returns a top-level access error3871 is expected to contain exactly "The resource that you are attempting to access does not exist or you don't have permission to perform this action"3872 when the user has permission3873 returns the created board3874 when create fails3875 returns an error3876Profiles::PreferencesController3877 PATCH update3878 when security dashboard feature enabled3879 and valid group view choice is submitted3880 changes the user's preferences3881 and an invalid group view choice is submitted3882 responds with an error message3883 when security dashboard feature is disabled3884 when security dashboard feature enabled3885 is expected not to change `user.reload.group_view_security_dashboard?`3886Projects::PipelinesController3887 GET #licenses3888 when the project has software license policies3889 does not cause extra queries3890CountryStatesController3891 GET #index3892 returns a list of states as json3893 returns "null" when the provided country is not found3894Projects::Settings::CiCdController3895 as a maintainer3896 GET show3897 renders group protected environments3898API::Markdown Snapshot3899 # order random3900 for 08_03_00__gitlab_internal_extension_markdown__markdown_preview_api_request_overrides__0063901 verifies conversion of GLFM to HTML3902getting a compliance frameworks list for a project3903 when the project has no compliance framework assigned3904 is an empty array3905 when the project has a compliance framework assigned3906 includes its name3907Removing an escalation policy3908 removes the escalation policy3909Removing an issuable resource link3910 removes the issuable resource link3911API::ProjectSnapshots3912 GET /projects/:id/snapshot3913 requests project repository raw archive from Geo primary as Geo secondary3914UploadsController3915 GET show3916 when viewing issuable metric images3917 responds with status 2003918Admin::ImpersonationTokensController3919 # order random3920 when impersonation is enabled3921 when personal access tokens are disabled3922 responds with a 4043923Emails::FreeUserCap3924 # order random3925 #reached_free_user_limit_email3926 sends mail with expected contents3927Profiles::UsageQuotasController3928 GET index3929 renders usage quota page3930Knapsack report was generated. Preview:3931{3932 "ee/spec/requests/api/vulnerabilities_spec.rb": 156.33851141299965,3933 "ee/spec/requests/api/groups_spec.rb": 68.50366143100018,3934 "ee/spec/controllers/projects/issues_controller_spec.rb": 68.58269332399959,3935 "ee/spec/controllers/projects/push_rules_controller_spec.rb": 48.94722464200004,3936 "ee/spec/controllers/ee/search_controller_spec.rb": 35.10750678699969,3937 "ee/spec/requests/api/discussions_spec.rb": 35.3957804190004,3938 "ee/spec/controllers/groups/epic_issues_controller_spec.rb": 28.52265456799978,3939 "ee/spec/requests/groups_controller_spec.rb": 26.07102542499888,3940 "ee/spec/requests/api/graphql/mutations/epic_tree/reorder_spec.rb": 28.486146090999682,3941 "ee/spec/requests/api/merge_request_approvals_spec.rb": 28.239785505000327,3942 "ee/spec/controllers/groups/contribution_analytics_controller_spec.rb": 18.700711251998655,3943 "ee/spec/requests/api/graphql/compliance_management/merge_requests/compliance_violations_spec.rb": 16.789757188000294,3944 "ee/spec/requests/api/group_boards_spec.rb": 15.972517877000428,3945 "ee/spec/controllers/projects/audit_events_controller_spec.rb": 11.329519978999087,3946 "ee/spec/controllers/groups/sso_controller_spec.rb": 14.43628514699958,3947 "ee/spec/controllers/autocomplete_controller_spec.rb": 10.559750202999567,3948 "ee/spec/controllers/projects/security/configuration_controller_spec.rb": 14.834024937999857,3949 "ee/spec/controllers/admin/clusters_controller_spec.rb": 11.94760185800078,3950 "ee/spec/requests/api/graphql/mutations/audit_events/external_audit_event_destinations/create_spec.rb": 12.695823115000167,3951 "ee/spec/requests/api/related_epic_links_spec.rb": 13.132306814000913,3952 "ee/spec/requests/smartcard_controller_spec.rb": 6.278346330000204,3953 "ee/spec/requests/api/resource_label_events_spec.rb": 9.007665164999707,3954 "ee/spec/requests/groups/epics/related_epic_links_controller_spec.rb": 8.474614307000593,3955 "ee/spec/requests/api/graphql/project/incident_management/oncall_shifts_spec.rb": 10.195356718000767,3956 "ee/spec/requests/api/pypi_packages_spec.rb": 10.358113672999025,3957 "ee/spec/requests/api/graphql/boards/epic_lists_query_spec.rb": 8.037949948999085,3958 "ee/spec/requests/api/group_variables_spec.rb": 7.013142677998985,3959 "ee/spec/requests/api/graphql/mutations/dast/profiles/update_spec.rb": 6.832350676000715,3960 "ee/spec/requests/api/graphql/mutations/audit_events/external_audit_event_destinations/update_spec.rb": 8.741171031000704,3961 "ee/spec/controllers/subscriptions/groups_controller_spec.rb": 5.504829575000258,3962 "ee/spec/requests/projects/analytics/code_reviews_controller_spec.rb": 8.347698237999793,3963 "ee/spec/requests/api/graphql/mutations/dast/profiles/create_spec.rb": 6.685779899999034,3964 "ee/spec/requests/api/graphql/namespace/projects_spec.rb": 6.868847272999119,3965 "ee/spec/requests/registrations_controller_spec.rb": 5.315173983000932,3966 "ee/spec/requests/api/dependencies_spec.rb": 6.875580451000133,3967 "ee/spec/controllers/projects/requirements_management/requirements_controller_spec.rb": 6.398112728000342,3968 "ee/spec/requests/api/audit_events_spec.rb": 5.651299000999643,3969 "ee/spec/requests/api/analytics/code_review_analytics_spec.rb": 5.4762068090003595,3970 "ee/spec/requests/api/graphql/mutations/boards/epic_boards/epic_move_list_spec.rb": 6.3887857099998655,3971 "ee/spec/requests/api/graphql/iterations/iterations_spec.rb": 4.942539800000304,3972 "ee/spec/requests/api/graphql/mutations/compliance_management/frameworks/create_spec.rb": 3.1713067119999323,3973 "ee/spec/requests/projects/audit_events_spec.rb": 4.541709978999279,3974 "ee/spec/controllers/projects/branches_controller_spec.rb": 6.3389917250005965,3975 "ee/spec/requests/api/dora/metrics_spec.rb": 3.1918375299992476,3976 "ee/spec/requests/api/graphql/mutations/issues/set_epic_spec.rb": 3.932530977999704,3977 "ee/spec/requests/api/elasticsearch_indexed_namespaces_spec.rb": 2.0280499330001476,3978 "ee/spec/requests/api/graphql/project/dast_scanner_profiles_spec.rb": 3.3843562019992532,3979 "ee/spec/requests/projects/security/dast_profiles_controller_spec.rb": 4.042276966998543,3980 "ee/spec/controllers/projects/iterations_controller_spec.rb": 3.6183004889990116,3981 "ee/spec/requests/api/graphql/project/environments_spec.rb": 5.201962535000348,3982 "ee/spec/requests/api/graphql/mutations/iterations/cadences/update_spec.rb": 2.772553761000381,3983 "ee/spec/requests/api/graphql/mutations/dast_site_validations/revoke_spec.rb": 1.8818121280000923,3984 "ee/spec/requests/api/graphql/vulnerabilities/description_spec.rb": 4.278984694001338,3985 "ee/spec/requests/api/graphql/mutations/issues/promote_to_epic_spec.rb": 5.191748205999829,3986 "ee/spec/requests/api/graphql/mutations/issues/create_spec.rb": 3.5716310440002417,3987 "ee/spec/requests/api/graphql/mutations/security_policy/assign_security_policy_project_spec.rb": 3.1349989459995413,3988 "ee/spec/controllers/groups/saml_group_links_controller_spec.rb": 2.312393456000791,3989 "ee/spec/mailers/ee/emails/identity_verification_spec.rb": 1.8639740589987923,3990 "ee/spec/mailers/license_mailer_spec.rb": 1.8031396259993926,3991 "ee/spec/requests/api/graphql/mutations/incident_management/oncall_schedule/create_spec.rb": 1.5443883299994923,3992 "ee/spec/requests/api/graphql/mutations/epics/set_subscription_spec.rb": 2.7708593910010677,3993 "ee/spec/controllers/groups/seat_usage_controller_spec.rb": 3.7634390050006914,3994 "ee/spec/requests/api/graphql/project/incident_management/escalation_policy/rules_spec.rb": 2.644560613000067,3995 "ee/spec/controllers/groups/scim_oauth_controller_spec.rb": 3.868655285001296,3996 "ee/spec/requests/api/ci/minutes_spec.rb": 2.5186865750001743,3997 "ee/spec/requests/subscriptions_controller_spec.rb": 0.6698823850001645,3998 "ee/spec/requests/api/experiments_spec.rb": 2.9324962550017517,3999 "ee/spec/controllers/groups/analytics/repository_analytics_controller_spec.rb": 2.340149083000142,4000 "ee/spec/controllers/projects/settings/slacks_controller_spec.rb": 3.1131871479992697,4001 "ee/spec/controllers/groups/security/vulnerabilities_controller_spec.rb": 1.9459925110004406,4002 "ee/spec/requests/api/graphql/mutations/boards/lists/update_limit_metrics_spec.rb": 1.9516894409989618,4003 "ee/spec/controllers/concerns/geo_instrumentation_spec.rb": 1.2504271079997125,4004 "ee/spec/controllers/groups/ldap_settings_controller_spec.rb": 2.2590291510005045,4005 "ee/spec/requests/api/graphql/mutations/boards/update_epic_user_preferences_spec.rb": 1.6832917669999006,4006 "ee/spec/requests/api/graphql/mutations/dast/profiles/delete_spec.rb": 3.40796987000067,4007 "ee/spec/controllers/projects/incident_management/oncall_schedules_controller_spec.rb": 2.114865314999406,4008 "ee/spec/requests/api/features_spec.rb": 0.9332535489993461,4009 "ee/spec/requests/api/graphql/boards/epic_lists/update_spec.rb": 1.8752628180009197,4010 "ee/spec/requests/api/graphql/app_sec/fuzzing/coverage/corpus_type_spec.rb": 1.4077105029991799,4011 "ee/spec/requests/api/graphql/mutations/quality_management/test_cases/create_spec.rb": 1.6840259569999034,4012 "ee/spec/requests/api/graphql/mutations/boards/epic_boards/create_spec.rb": 1.571501497999634,4013 "ee/spec/controllers/ee/profiles/preferences_controller_spec.rb": 0.8867237829999794,4014 "ee/spec/requests/projects/pipelines_controller_spec.rb": 2.1317887119985244,4015 "ee/spec/controllers/country_states_controller_spec.rb": 0.6576397560002079,4016 "ee/spec/controllers/projects/settings/ci_cd_controller_spec.rb": 1.9614470079995954,4017 "ee/spec/requests/api/markdown_snapshot_spec.rb": 1.6190810520001833,4018 "ee/spec/requests/api/graphql/project/compliance_frameworks_spec.rb": 1.6760273250001774,4019 "ee/spec/requests/api/graphql/mutations/incident_management/escalation_policy/destroy_spec.rb": 0.9616493049998098,4020 "ee/spec/requests/api/graphql/mutations/incident_management/issuable_resource_link/destroy_spec.rb": 1.052623837000283,4021 "ee/spec/requests/api/project_snapshots_spec.rb": 0.9740771639990271,4022 "ee/spec/controllers/ee/uploads_controller_spec.rb": 1.380201694999414,4023 "ee/spec/requests/admin/impersonation_tokens_controller_spec.rb": 0.9145858280007815,4024 "ee/spec/mailers/emails/free_user_cap_spec.rb": 0.9331206779988861,4025 "ee/spec/controllers/profiles/usage_quotas_controller_spec.rb": 0.60127061099956344026}4027Knapsack global time execution for tests: 15m 38s4028Finished in 15 minutes 43 seconds (files took 41.95 seconds to load)40291242 examples, 0 failures4030Randomized with seed 653924031[TEST PROF INFO] Time spent in factories: 07:32.890 (47.88% of total time)4032RSpec exited with 0.4033No examples to retry, congrats!4035Not uploading cache ruby-gems-debian-bullseye-ruby-2.7-16 due to policy4036Not uploading cache gitaly-ruby-gems-debian-bullseye-ruby-2.7-16 due to policy4038Uploading artifacts...4039coverage/: found 5 matching files and directories 4040crystalball/: found 2 matching files and directories 4041WARNING: deprecations/: no matching files. Ensure that the artifact path is relative to the working directory 4042knapsack/: found 3 matching files and directories 4043rspec/: found 9 matching files and directories 4044WARNING: tmp/capybara/: no matching files. Ensure that the artifact path is relative to the working directory 4045log/*.log: found 19 matching files and directories 4046WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/3307837901/artifacts?artifact_format=zip&artifact_type=archive&expire_in=31d new-url=https://gitlab.com4047WARNING: Retrying... context=artifacts-uploader error=request redirected4048Uploading artifacts as "archive" to coordinator... 201 Created id=3307837901 responseStatus=201 Created token=tkgH24134049Uploading artifacts...4050rspec/junit_rspec.xml: found 1 matching files and directories 4051WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/3307837901/artifacts?artifact_format=gzip&artifact_type=junit&expire_in=31d new-url=https://gitlab.com4052WARNING: Retrying... context=artifacts-uploader error=request redirected4053Uploading artifacts as "junit" to coordinator... 201 Created id=3307837901 responseStatus=201 Created token=tkgH24134055Job succeeded