rspec-ee integration pg13 4/6
Passed Started
by
@ohoral
Olena Horal-Koretska
1Running with gitlab-runner 15.9.0~beta.115.g598a7c91 (598a7c91)2 on green-3.shared-gitlab-org.runners-manager.gitlab.com/default EuhiQzPR, system ID: s_360bc95445273 feature flags: FF_NETWORK_PER_BUILD:true, 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-3.0.patched-golang-1.19-rust-1.65-node-16.14-postgresql-13:rubygems-3.4-git-2.36-lfs-2.9-chrome-109-yarn-1.22-graphicsmagick-1.3.36 ...7Starting service registry.gitlab.com/gitlab-org/gitlab-build-images:postgres-13-pgvector-0.4.1 ...8Authenticating with credentials from job payload (GitLab Registry)9Pulling docker image registry.gitlab.com/gitlab-org/gitlab-build-images:postgres-13-pgvector-0.4.1 ...10Using docker image sha256:b643610fd4d2fbdd55447ceb5a6cba0c3d1a26945817741d73e1b51a1ec07d01 for registry.gitlab.com/gitlab-org/gitlab-build-images:postgres-13-pgvector-0.4.1 with digest registry.gitlab.com/gitlab-org/gitlab-build-images@sha256:dfccb5b5ddadf4f1a3b9cb72cf21f5b99a28a55c217de34d9fa6b7a45a910031 ...11Starting service redis:6.2-alpine ...12Pulling docker image redis:6.2-alpine ...13Using docker image sha256:a9a47a706682d445577bb5da7328f0faaa0863a5742a315c829faa461dfc23ae for redis:6.2-alpine with digest redis@sha256:317575f05099ea47b1f2855b1bb6e068b52847bfa19b87014d88d57f82d4b8f0 ...14Starting service elasticsearch:7.17.6 ...15Pulling docker image elasticsearch:7.17.6 ...16Using docker image sha256:5fad10241ffd65d817ed0ddfaf6e87eee1f7dc2a7db33db1047835560ea71fda for elasticsearch:7.17.6 with digest elasticsearch@sha256:6c128de5d01c0c130a806022d6bd99b3e4c27a9af5bfc33b6b81861ae117d028 ...17WARNING: Service registry.gitlab.com/gitlab-org/gitlab-build-images:zoekt-ci-image-1.0 is already created. Ignoring.18WARNING: Service registry.gitlab.com/gitlab-org/gitlab-build-images:zoekt-ci-image-1.0 is already created. Ignoring.19Starting service registry.gitlab.com/gitlab-org/gitlab-build-images:zoekt-ci-image-1.0 ...20Authenticating with credentials from job payload (GitLab Registry)21Pulling docker image registry.gitlab.com/gitlab-org/gitlab-build-images:zoekt-ci-image-1.0 ...22Using docker image sha256:4777ec1fa89def7d692d4979d05cb05234df25da1c6a3f67a564a433ec5ba1c8 for registry.gitlab.com/gitlab-org/gitlab-build-images:zoekt-ci-image-1.0 with digest registry.gitlab.com/gitlab-org/gitlab-build-images@sha256:80c0cee4566aefe4f1f287e1091263e08b0ebc41ed3dc4e76930df3634ccb9aa ...23Waiting for services to be up and running (timeout 30 seconds)...24Authenticating with credentials from job payload (GitLab Registry)25Pulling docker image registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0.patched-golang-1.19-rust-1.65-node-16.14-postgresql-13:rubygems-3.4-git-2.36-lfs-2.9-chrome-109-yarn-1.22-graphicsmagick-1.3.36 ...26Using docker image sha256:552b81110cdd830e05d17c8e7365f72e1dd96842217d7225636cb55a75777ea7 for registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0.patched-golang-1.19-rust-1.65-node-16.14-postgresql-13:rubygems-3.4-git-2.36-lfs-2.9-chrome-109-yarn-1.22-graphicsmagick-1.3.36 with digest registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0.patched-golang-1.19-rust-1.65-node-16.14-postgresql-13@sha256:a386dd1acb1341f710f3c3c320984f70512694bcfec8cb1c771365058ac7c475 ...28Running on runner-euhiqzpr-project-278964-concurrent-0 via runner-euhiqzpr-shared-gitlab-org-1682500379-b5ca6ffa...30$ eval "$CI_PRE_CLONE_SCRIPT"31Fetching changes with git depth set to 20...32Initialized empty Git repository in /builds/gitlab-org/gitlab/.git/33Created fresh repository.34remote: Enumerating objects: 165305, done. 35remote: Counting objects: 100% (165305/165305), done. 36remote: Compressing objects: 100% (99237/99237), done. 37remote: Total 165305 (delta 81746), reused 118333 (delta 59964), pack-reused 0 38Receiving objects: 100% (165305/165305), 131.94 MiB | 25.64 MiB/s, done.39Resolving deltas: 100% (81746/81746), done.41 * [new ref] refs/pipelines/849373675 -> refs/pipelines/84937367542 * [new branch] master -> origin/master43Checking out f463609d as detached HEAD (ref is master)...44Skipping Git submodules setup45$ git remote set-url origin "${CI_REPOSITORY_URL}"47Checking cache for ruby-gems-debian-bullseye-ruby-3.0-16...48Downloading cache.zip from https://storage.googleapis.com/gitlab-com-runners-cache/project/278964/ruby-gems-debian-bullseye-ruby-3.0-16 49Successfully extracted cache51Downloading artifacts for compile-test-assets (4181384009)...52Downloading artifacts from coordinator... ok host=storage.googleapis.com id=4181384009 responseStatus=200 OK token=64_K7k1G53Downloading artifacts for retrieve-tests-metadata (4181384016)...54Downloading artifacts from coordinator... ok host=storage.googleapis.com id=4181384016 responseStatus=200 OK token=64_K7k1G55Downloading artifacts for setup-test-env (4181384014)...56Downloading artifacts from coordinator... ok host=storage.googleapis.com id=4181384014 responseStatus=200 OK token=64_K7k1G58Using docker image sha256:552b81110cdd830e05d17c8e7365f72e1dd96842217d7225636cb55a75777ea7 for registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0.patched-golang-1.19-rust-1.65-node-16.14-postgresql-13:rubygems-3.4-git-2.36-lfs-2.9-chrome-109-yarn-1.22-graphicsmagick-1.3.36 with digest registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0.patched-golang-1.19-rust-1.65-node-16.14-postgresql-13@sha256:a386dd1acb1341f710f3c3c320984f70512694bcfec8cb1c771365058ac7c475 ...59$ echo $FOSS_ONLY60$ [ "$FOSS_ONLY" = "1" ] && rm -rf ee/ qa/spec/ee/ qa/qa/specs/features/ee/ qa/qa/ee/ qa/qa/ee.rb61$ export GOPATH=$CI_PROJECT_DIR/.go62$ mkdir -p $GOPATH63$ source scripts/utils.sh64$ source scripts/prepare_build.sh720Using decomposed database config (config/database.yml.decomposed-postgresql)721Geo DB will be set up.722Embedding DB will be set up.746$ source ./scripts/rspec_helpers.sh747$ run_timed_command "gem install knapsack --no-document"748$ gem install knapsack --no-document749Successfully installed knapsack-4.0.07501 gem installed751==> 'gem install knapsack --no-document' succeeded in 1 seconds.752$ echo -e "\e[0Ksection_start:`date +%s`:gitaly-test-spawn[collapsed=true]\r\e[0KStarting Gitaly"754$ section_start "gitaly-test-spawn" "Spawning Gitaly"; scripts/gitaly-test-spawn; section_end "gitaly-test-spawn"759$ echo -e "\e[0Ksection_end:`date +%s`:gitaly-test-spawn\r\e[0K"760$ rspec_paralellized_job "--tag ~quarantine --tag ~level:background_migration"761SKIP_FLAKY_TESTS_AUTOMATICALLY: false762RETRY_FAILED_TESTS_IN_NEW_PROCESS: true763KNAPSACK_GENERATE_REPORT: true764FLAKY_RSPEC_GENERATE_REPORT: true765KNAPSACK_TEST_FILE_PATTERN: {ee/}spec/{commands,controllers,mailers,requests}{,/**/}*_spec.rb766KNAPSACK_LOG_LEVEL: debug767KNAPSACK_REPORT_PATH: knapsack/rspec-ee_integration_pg13_4_6_report.json768FLAKY_RSPEC_SUITE_REPORT_PATH: rspec/flaky/report-suite.json769FLAKY_RSPEC_REPORT_PATH: rspec/flaky/all_rspec-ee_integration_pg13_4_6_report.json770NEW_FLAKY_RSPEC_REPORT_PATH: rspec/flaky/new_rspec-ee_integration_pg13_4_6_report.json771SKIPPED_FLAKY_TESTS_REPORT_PATH: rspec/flaky/skipped_flaky_tests_rspec-ee_integration_pg13_4_6_report.txt772CRYSTALBALL: 773RSPEC_TESTS_MAPPING_ENABLED: 774RSPEC_TESTS_FILTER_FILE: 775Knapsack report generator started!776warning: parser/current is loading parser/ruby30, which recognizes 3.0.5-compliant syntax, but you are running 3.0.6.778Run options: exclude {:quarantine=>true, :level=>"background_migration"}779Test environment set up in 0.611349262 seconds780API::Projects781 GET /projects782 does not break on license checks783 filters by verification flags784 filters by :repository_verification_failed785 filters by :wiki_verification_failed786 when there are several projects owned by groups787 avoids N+1 queries788 GET /projects/:id789 with external authorization790 when the user has access to the project791 includes the label in the response792 when the external service denies access793 returns a 404794 it does not return the label when the feature is not available795 does not include the label in the response796 with ip restriction797 when the group_ip_restriction feature is not available798 returns 200799 when the group_ip_restriction feature is available800 returns 404 for request from ip not in the range801 returns 200 for request from ip in the range802 compliance_frameworks attribute803 when compliance_framework feature is available804 when project has a compliance framework805 exposes framework names as array of strings806 when project has no compliance framework807 returns an empty array808 project soft-deletion809 marked_for_deletion_at attribute810 exposed when the feature is available811 not exposed when the feature is not available812 marked_for_deletion_on attribute813 exposed when the feature is available814 not exposed when the feature is not available815 issuable default templates816 when feature is available817 returns issuable default templates818 when user does not have permission to see issues819 does not return issue default templates820 when user does not have permission to see merge requests821 does not return merge request default templates822 issuable default templates feature not available823 does not return issuable default templates824 merge pipelines feature is available825 returns merge pipelines enabled flag826 merge pipelines feature not available827 does not return merge pipelines enabled flag828 when external_status_checks is available829 returns only_allow_merge_if_all_status_checks_passed flag830 when external_status_checks not available831 does not return only_allow_merge_if_all_status_checks_passed enabled flag832 merge trains feature is available833 returns merge trains enabled flag834 merge trains feature not available835 does not return merge trains enabled flag836 when protected_environments is available837 returns allow_pipeline_trigger_approve_deployment flag838 when protected_environments is not available839 does not returns allow_pipeline_trigger_approve_deployment flag840 GET /projects/:id/users841 when unauthenticated842 behaves like project users response843 returns the project users844 when the gitlab_employee_badge flag is off845 does not expose the is_gitlab_employee attribute on the user846 when the gitlab_employee_badge flag is on but we are not on gitlab.com847 does not expose the is_gitlab_employee attribute on the user848 when the gitlab_employee_badge flag is on and we are on gitlab.com849 exposes the is_gitlab_employee attribute on the user850 when authenticated851 valid request852 behaves like project users response853 returns the project users854 when the gitlab_employee_badge flag is off855 does not expose the is_gitlab_employee attribute on the user856 when the gitlab_employee_badge flag is on but we are not on gitlab.com857 does not expose the is_gitlab_employee attribute on the user858 when the gitlab_employee_badge flag is on and we are on gitlab.com859 exposes the is_gitlab_employee attribute on the user860 POST /projects/user/:id861 with templates862 behaves like creates projects with templates863 creates a project using a template864 returns a 400 error for an invalid template name865 returns a 400 error for an invalid template ID866 behaves like creates projects with templates867 creates a project using a template868 returns a 400 error for an invalid template name869 returns a 400 error for an invalid template ID870 behaves like creates projects with templates871 creates a project using a template872 returns a 400 error for an invalid template name873 returns a 400 error for an invalid template ID874 behaves like creates projects with templates875 creates a project using a template876 returns a 400 error for an invalid template name877 returns a 400 error for an invalid template ID878 POST /projects879 with templates880 behaves like creates projects with templates881 creates a project using a template882 returns a 400 error for an invalid template name883 returns a 400 error for an invalid template ID884 behaves like creates projects with templates885 creates a project using a template886 returns a 400 error for an invalid template name887 returns a 400 error for an invalid template ID888 behaves like creates projects with templates889 creates a project using a template890 returns a 400 error for an invalid template name891 returns a 400 error for an invalid template ID892 behaves like creates projects with templates893 creates a project using a template894 returns a 400 error for an invalid template name895 returns a 400 error for an invalid template ID896 when importing with mirror attributes897 creates new project with pull mirroring set up898 creates project without mirror settings when repository mirroring feature is disabled899 when pull mirroring is not available900 ignores the mirroring options901 creates project with mirror settings902 with requirements_access_level903 updates project with given value904 GET projects/:id/audit_events905 behaves like inaccessable by reporter role and lower906 for reporter907 returns 403 response908 for guest909 returns 403 response910 for anonymous911 returns 403 response912 when authenticated, as a member913 returns only events authored by current user914 when authenticated, as a project owner915 audit events feature is not available916 behaves like 403 response917 returns 403918 audit events feature is available919 returns 200 response920 includes the correct pagination headers921 does not include audit events of a different project922 parameters923 behaves like supports keyset pagination924 paginates the records correctly925 on making requests with unsupported ordering structure926 returns error927 created_before parameter928 returns audit events created before the given parameter929 created_after parameter930 returns audit events created after the given parameter931 response schema932 matches the response schema933 Snowplow event tracking934 behaves like Snowplow event tracking with RedisHLL context935 behaves like Snowplow event tracking936 is emitted937 GET projects/:id/audit_events/:audit_event_id938 behaves like inaccessable by reporter role and lower939 for reporter940 returns 403 response941 for guest942 returns 403 response943 for anonymous944 returns 403 response945 when authenticated, as a guest946 behaves like 403 response947 returns 403948 when authenticated, as a member949 returns 200 response950 existing audit event of a different user951 behaves like 404 response952 returns 404953 when authenticated, as a project owner954 audit events feature is not available955 behaves like 403 response956 returns 403957 audit events feature is available958 existent audit event959 returns 200 response960 response schema961 matches the response schema962 invalid audit_event_id963 behaves like 400 response964 returns 400965 non existent audit event966 non existent audit event of a project967 behaves like 404 response968 returns 404969 existing audit event of a different project970 behaves like 404 response971 returns 404972 PUT /projects/:id973 issuable default templates feature is available974 when updating issues_template975 updates the content976 when updating merge_requests_template977 updates the content978 when updating requirements_access_level979 updates project with given value980 issuable default templates feature not available981 when updating issues_template982 does not update the content983 when updating merge_requests_template984 does not update the content985 merge pipelines feature is available986 updates the content987 when user does not have permission988 does not update the content989 merge pipelines feature feature not available990 does not update the content991 when external_status_checks is available992 updates the content993 when user does not have permission994 does not update the content995 when approvals_before_merge is nil996 behaves like 400 response997 returns 400998 when external_status_checks not available999 does not update the content1000 merge trains feature is available1001 updates the content1002 when user does not have permission1003 does not update the content1004 merge trains feature feature not available1005 does not update the content1006 when updating external classification1007 updates the classification label1008 when updating mirror related attributes1009 updates mirror related attributes1010 updates project without mirror attributes when the project is unable to set up repository mirroring1011 renders an API error when mirror user is invalid1012 returns 403 when the user does not have access to mirror settings1013 when pull mirroring is not available1014 does not update mirror related attributes1015 updates mirror related attributes when user is admin1016 when import_url is not a valid git endpoint1017 disallows creating a project with an import_url that is not reachable1018 with mirror_branch_regex and only_mirror_protected_branches1019 fails1020 with only_mirror_protected_branches1021 when enabling only_mirror_protected_branches1022 removes mirror_branch_regex1023 when disabling only_mirror_protected_branches1024 keeps mirror_branch_regex1025 when removing mirror_branch_regex1026 with mirror_branch_regex present1027 removes mirror_branch_regex1028 with mirror_branch_regex nil and only_mirror_protected_branches is truthy1029 does not change only_mirror_protected_branches value1030 with mirror_branch_regex nil and only_mirror_protected_branches is false1031 does not change only_mirror_protected_branches value1032 with mirror_branch_regex1033 succeeds1034 does nothing when feature flag is disabled1035 updating approvals_before_merge attribute1036 when authenticated as project owner1037 updates approvals_before_merge1038 when protected_environments is available1039 updates the content1040 when protected_environments not available1041 does not update the content1042 POST /projects/:id/restore1043 feature is available1044 restores project1045 returns error if project is already being deleted1046 feature is not available1047 returns error1048 DELETE /projects/:id1049 when feature is available1050 delayed project deletion is enabled for group1051 returns error if project cannot be marked for deletion1052 behaves like marks project for deletion1053 aggregate_failures1054 when permanently_remove param is true1055 when project is already marked for deletion1056 with correct project full path1057 behaves like deletes project immediately1058 aggregate_failures1059 with incorrect project full path1060 behaves like immediately delete project error1061 aggregate_failures1062 when project is not marked for deletion1063 behaves like immediately delete project error1064 aggregate_failures1065 when delayed project deletion is disabled on the application1066 when `always_perform_delayed_deletion` is disabled1067 behaves like deletes project immediately1068 aggregate_failures1069 when `always_perform_delayed_deletion` is enabled1070 behaves like marks project for deletion1071 aggregate_failures1072 when deletion adjourned period is 01073 behaves like deletes project immediately1074 aggregate_failures1075 delayed project deletion is disabled for group1076 when `always_perform_delayed_deletion` is disabled1077 behaves like deletes project immediately1078 aggregate_failures1079 when `always_perform_delayed_deletion` is enabled1080 behaves like marks project for deletion1081 aggregate_failures1082 for projects in user namespace1083 behaves like deletes project immediately1084 aggregate_failures1085 when feature is not available1086 behaves like deletes project immediately1087 aggregate_failures1088 POST /projects/:id/fork1089 when project namespace has prohibit_outer_forks enabled1090 and target namespace is outer1091 renders 4041092 and target namespace is inner to project namespace1093 forks the project1094 POST /projects/:id/import_project_members/:project_id1095 when the target project has locked their membership1096 via the parent group1097 returns 4031098 via LDAP1099 returns 4031100API::Scim::GroupScim1101 # order random1102 when user with an email extern_uid1103 behaves like SCIM API endpoints1104 GET api/scim/v2/groups/:group/Users1105 responds with 404 for a non existent group1106 responds with 404 for a group with no SAML SSO configuration1107 responds with paginated users when there is no filter1108 responds with an error for unsupported filters1109 behaves like SCIM token authenticated1110 without token auth1111 responds with 4011112 when existing user matches filter1113 responds with 2001114 sets default values as required by the specification1115 when no user matches filter1116 responds with 2001117 GET api/scim/v2/groups/:group/Users/:id1118 responds with 404 for a non existent group1119 responds with 404 for a group with no SAML SSO configuration1120 responds with 404 if there is no user1121 behaves like SCIM token authenticated1122 without token auth1123 responds with 4011124 when existing user1125 responds with 2001126 POST api/scim/v2/groups/:group/Users1127 responds with 404 for a non existent group1128 responds with 404 for a group with no SAML SSO configuration1129 behaves like SCIM token authenticated1130 without token auth1131 responds with 4011132 when a provisioning error occurs1133 behaves like filtered params in errors1134 does not expose the password in error response1135 does not expose the access token in error response1136 without an existing user1137 responds with 2011138 has the user external ID1139 has the email1140 created the user1141 created the member with access level set in saml_provider1142 created the identity1143 marks the user as provisioned by the group1144 when existing user1145 responds with 2011146 has the user external ID1147 does not mark the user as provisioned1148 behaves like storing arguments in the application context for the API1149 places the expected params in the application context1150 with allowed domain setting switched on1151 with different domains1152 created the user1153 did not create member1154 with invalid user params1155 returns user error1156 with matching domains1157 created the user1158 created the member with access level set in saml_provider1159 PATCH api/scim/v2/groups/:group/Users/:id1160 responds with 404 for a non existent group1161 responds with 404 for a group with no SAML SSO configuration1162 responds with 404 if there is no user1163 deactivates the scim_identity1164 behaves like SCIM token authenticated1165 without token auth1166 responds with 4011167 with owner1168 responds with 4121169 returns the last group owner error1170 does not deactivate the identity1171 when reprovisioning user1172 activates the scim_identity1173 does not call reprovision service when identity is already active1174 when existing user1175 with extern UID1176 responds with 2041177 updates the extern_uid1178 with user attributes1179 with name1180 responds with 2041181 does not update the name1182 responds with an empty response1183 with email1184 does not update the email1185 responds with 2041186 with userName1187 responds with 2041188 does not update the username1189 responds with an empty response1190 DELETE /scim/v2/groups/:group/Users/:id1191 responds with 404 if there is no user1192 responds with 404 for a non existent group1193 responds with 404 for a group with no SAML SSO configuration1194 when existing user1195 responds with 2041196 responds with an empty response1197 deactivates the identity1198 when the user is not a group member1199 deactivates the identity1200 with owner1201 responds with 4121202 returns the last group owner error1203 does not deactivate the identity1204 when user with an alphanumeric extern_uid1205 behaves like SCIM API endpoints1206 GET api/scim/v2/groups/:group/Users1207 responds with 404 for a non existent group1208 responds with 404 for a group with no SAML SSO configuration1209 responds with paginated users when there is no filter1210 responds with an error for unsupported filters1211 behaves like SCIM token authenticated1212 without token auth1213 responds with 4011214 when existing user matches filter1215 responds with 2001216 sets default values as required by the specification1217 when no user matches filter1218 responds with 2001219 GET api/scim/v2/groups/:group/Users/:id1220 responds with 404 for a non existent group1221 responds with 404 for a group with no SAML SSO configuration1222 responds with 404 if there is no user1223 behaves like SCIM token authenticated1224 without token auth1225 responds with 4011226 when existing user1227 responds with 2001228 POST api/scim/v2/groups/:group/Users1229 responds with 404 for a non existent group1230 responds with 404 for a group with no SAML SSO configuration1231 behaves like SCIM token authenticated1232 without token auth1233 responds with 4011234 when a provisioning error occurs1235 behaves like filtered params in errors1236 does not expose the password in error response1237 does not expose the access token in error response1238 without an existing user1239 responds with 2011240 has the user external ID1241 has the email1242 created the user1243 created the member with access level set in saml_provider1244 created the identity1245 marks the user as provisioned by the group1246 when existing user1247 responds with 2011248 has the user external ID1249 does not mark the user as provisioned1250 behaves like storing arguments in the application context for the API1251 places the expected params in the application context1252 with allowed domain setting switched on1253 with different domains1254 created the user1255 did not create member1256 with invalid user params1257 returns user error1258 with matching domains1259 created the user1260 created the member with access level set in saml_provider1261 PATCH api/scim/v2/groups/:group/Users/:id1262 responds with 404 for a non existent group1263 responds with 404 for a group with no SAML SSO configuration1264 responds with 404 if there is no user1265 deactivates the scim_identity1266 behaves like SCIM token authenticated1267 without token auth1268 responds with 4011269 with owner1270 responds with 4121271 returns the last group owner error1272 does not deactivate the identity1273 when reprovisioning user1274 activates the scim_identity1275 does not call reprovision service when identity is already active1276 when existing user1277 with extern UID1278 responds with 2041279 updates the extern_uid1280 with user attributes1281 with name1282 responds with 2041283 does not update the name1284 responds with an empty response1285 with email1286 does not update the email1287 responds with 2041288 with userName1289 responds with 2041290 does not update the username1291 responds with an empty response1292 DELETE /scim/v2/groups/:group/Users/:id1293 responds with 404 if there is no user1294 responds with 404 for a non existent group1295 responds with 404 for a group with no SAML SSO configuration1296 when existing user1297 responds with 2041298 responds with an empty response1299 deactivates the identity1300 when the user is not a group member1301 deactivates the identity1302 with owner1303 responds with 4121304 returns the last group owner error1305 does not deactivate the identity1306API::Namespaces1307 GET /namespaces1308 when authenticated as admin1309 returns correct attributes1310 when authenticated as a regular user1311 returns correct attributes when user can admin group1312 returns correct attributes when user cannot admin group1313 when passing the requested hosted plan1314 without a requested plan1315 counts guest members1316 when requesting an invalid plan1317 counts guest members1318 when requesting bronze plan1319 counts guest members1320 when requesting premium plan1321 counts guest members1322 when requesting gold plan1323 does not count guest members1324 with gitlab subscription1325 includes max_seats_used1326 includes max_seats_used_changed_at1327 includes seats_in_use1328 avoids additional N+1 database queries1329 is expected not to exceed all query limit #<ActiveRecord::QueryRecorder:0x00007f9116c9c0d0 @data={"/app/models/concerns/token_authenticatable_s...skip_cached=false, @skip_schema_queries=true, @query_recorder_debug=false, @log_file=nil, @count=55>1330 without gitlab subscription1331 does not include max_seats_used1332 does not include max_seats_used_changed_at1333 does not include seats_in_use1334 PUT /namespaces/:id1335 behaves like PUT request permissions for admin mode1336 behaves like when admin1337 behaves like makes request1338 returns1339 behaves like makes request1340 returns1341 behaves like when user1342 returns1343 behaves like makes request1344 returns1345 when authenticated as admin1346 updates namespace using full_path when full_path contains dots1347 updates namespace using id1348 expires the CI minutes CachedQuota1349 when current CI minutes notification level is set1350 resets the current CI minutes notification level1351 when request has extra_shared_runners_minutes_limit param1352 updates the extra shared runners minutes limit1353 updates pending builds data since adding extra minutes the quota is not used up anymore1354 behaves like handles monthly usage1355 expires the CI minutes CachedQuota1356 resets the current CI minutes notification level1357 when shared_runners_minutes_limit param is present1358 behaves like handles monthly usage1359 expires the CI minutes CachedQuota1360 resets the current CI minutes notification level1361 when neither minutes limit params is provided1362 does not expire the CI minutes CachedQuota1363 when current CI minutes notification level is set1364 does not reset the current CI minutes notification level1365 when not authenticated as admin1366 retuns 4031367 when namespace not found1368 returns 4041369 when project namespace is passed1370 returns 4041371 when invalid params1372 attr: :shared_runners_minutes_limit1373 returns validation error for []1374 attr: :additional_purchased_storage_size1375 returns validation error for []1376 attr: :additional_purchased_storage_ends_on1377 returns validation error for []1378 when namespace has a value for last_ci_minutes_notification_at1379 resets that value when assigning extra CI minutes1380 when namespace has a value for last_ci_minutes_usage_notification_level1381 resets that value when assigning extra CI minutes1382 when customer purchases extra CI minutes1383 ticks instance runners1384 when passing attributes for gitlab_subscription1385 creates the gitlab_subscription record1386 updates the gitlab_subscription record1387 when params are invalid1388 returns a 400 error1389 POST :id/gitlab_subscription1390 behaves like POST request permissions for admin mode1391 behaves like when admin1392 behaves like makes request1393 returns1394 behaves like makes request1395 returns1396 behaves like when user1397 returns1398 behaves like makes request1399 returns1400 when authenticated as a regular user1401 returns an unauthorized error1402 when authenticated as an admin1403 fails when some attrs are missing1404 fails when the record is invalid1405 creates a subscription for the Group1406 sets the trial_starts_on to the start_date1407 creates a subscription using full_path when the namespace path contains dots1408 when namespace does not exist1409 creates a subscription using full_path when the namespace path contains dots1410 when creating subscription for project namespace1411 creates a subscription using full_path when the namespace path contains dots1412 GET :id/gitlab_subscription1413 with a developer user1414 returns an unauthorized error1415 using a user namespace does not error1416 behaves like authorized user using user namespace for billing1417 has access to the object1418 is successful using full_path when namespace path contains dots1419 with a maintainer1420 returns an unauthorized error1421 using a user namespace does not error1422 behaves like authorized user using user namespace for billing1423 has access to the object1424 is successful using full_path when namespace path contains dots1425 with an auditor1426 without :auditor_billing_page_access feature flag1427 returns an unauthorized error1428 with :auditor_billing_page_access feature flag1429 behaves like authorized user using group namespace for billing1430 returns data in a proper format1431 behaves like authorized user using user namespace for billing1432 has access to the object1433 is successful using full_path when namespace path contains dots1434 using a user namespace1435 behaves like authorized user using user namespace for billing1436 has access to the object1437 is successful using full_path when namespace path contains dots1438 with the owner of the Group1439 behaves like authorized user using group namespace for billing1440 returns data in a proper format1441 behaves like authorized user using user namespace for billing1442 has access to the object1443 is successful using full_path when namespace path contains dots1444 using a user namespace1445 behaves like authorized user using user namespace for billing1446 has access to the object1447 is successful using full_path when namespace path contains dots1448 for groups inherits exclude_guests1449 returns true for Ultimate-like plans1450 when namespace is a project namespace1451 returns a 404 error1452 PUT :id/gitlab_subscription1453 behaves like PUT request permissions for admin mode1454 behaves like when admin1455 behaves like makes request1456 returns1457 behaves like makes request1458 returns1459 behaves like when user1460 returns1461 behaves like makes request1462 returns1463 when authenticated as a regular user1464 returns an unauthorized error1465 when authenticated as an admin1466 when namespace is not found1467 returns a 404 error1468 when namespace does not have a subscription1469 returns a 404 error1470 when namespace is a project namespace1471 returns a 404 error1472 when params are invalid1473 returns a 400 error1474 when params are valid1475 updates the subscription for the Group1476 is successful using full_path when namespace path contains dots1477 does not clear out existing data because of defaults1478 updates the timestamp when the attributes are the same1479 when starting a new term1480 resets the seat attributes for the subscription1481 setting the trial expiration date1482 when the attr has a future date1483 updates the trial expiration date1484 POST :id/storage/limit_exclusion1485 when on GitLab.com1486 when authenticated as an admin1487 when params are valid1488 creates the exclusion for the Namespace1489 when an exclusion already exists1490 returns a 400 error1491 when namespace is not found1492 returns a 404 error1493 when namespace is not the root ancestor1494 returns a 400 error1495 when params are invalid1496 returns a 400 error1497 when unauthenticated1498 returns a 401 error1499 when authenticated as a regular user1500 returns an unauthorized error1501 when not on GitLab.com1502 returns 403 error1503 DELETE :id/storage/limit_exclusion1504 when on GitLab.com1505 when authenticated as an admin1506 when an exclusion exists1507 when the deletion is successful1508 returns success1509 when there is an error deleting1510 returns an error1511 when namespace is not found1512 returns a 404 error1513 when namespace is not the root ancestor1514 returns a 400 error1515 when no exclusion exists1516 returns a 400 error1517 when authenticated as a regular user1518 returns an unauthorized error1519 when unauthenticated1520 returns a 401 error1521 when not on GitLab.com1522 returns 403 error1523 GET /storage/limit_exclusions1524 when on GitLab.com1525 when authenticated as an admin1526 returns all limit exclusions1527 when authenticated as a regular user1528 returns a 403 error1529 when unauthenticated1530 returns a 401 error1531 when not on GitLab.com1532 returns 403 error1533API::MergeRequestApprovalRules1534 GET /projects/:id/merge_requests/:merge_request_iid/approval_rules/:approval_rule_id1535 behaves like getting approval rule/s1536 user cannot read merge request1537 responds with 4031538 user can read merge request1539 matches the response schema1540 groups contain private groups1541 current_user cannot see private group1542 hides private group1543 current_user can see private group1544 shows private group1545 has existing merge request rule that overrides a project-level rule1546 includes source_rule1547 GET /projects/:id/merge_requests/:merge_request_iid/approval_rules1548 behaves like getting approval rule/s1549 user cannot read merge request1550 responds with 4031551 user can read merge request1552 matches the response schema1553 groups contain private groups1554 current_user cannot see private group1555 hides private group1556 current_user can see private group1557 shows private group1558 has existing merge request rule that overrides a project-level rule1559 includes source_rule1560 user can read merge request1561 returns the correct amount of rules1562 POST /projects/:id/merge_requests/:merge_request_iid/approval_rules1563 behaves like a protected API endpoint for merge request approval rule action1564 disable_overriding_approvers_per_merge_request is set to true1565 responds with 4031566 disable_overriding_approvers_per_merge_request is set to false1567 user cannot update merge request1568 responds with 4031569 when user can update merge request and approval rules can be overridden1570 matches the response schema1571 users are passed1572 includes users1573 groups are passed1574 includes groups1575 usernames are passed1576 includes users1577 usernames and user_ids are passed1578 includes users1579 approval_project_rule_id is passed1580 with blank approver params1581 copies the attributes from the project rule except approvers1582 with omitted approver params1583 copies the attributes from the project rule except approvals_required1584 PUT /projects/:id/merge_requests/:merge_request_iid/approval_rules/:approval_rule_id1585 behaves like a protected API endpoint for merge request approval rule action1586 disable_overriding_approvers_per_merge_request is set to true1587 responds with 4031588 disable_overriding_approvers_per_merge_request is set to false1589 user cannot update merge request1590 responds with 4031591 when user can update merge request and approval rules can be overridden1592 matches the response schema1593 behaves like a protected API endpoint that only allows action on regular merge request approval rule1594 approval rule is not a regular type1595 responds with 4031596 users are passed1597 changes users1598 groups are passed1599 changes groups1600 remove_hidden_groups is passed1601 when set to true1602 removes the existing private group1603 when set to false1604 does not remove the existing private group1605 usernames are passed1606 includes users1607 DELETE /projects/:id/merge_requests/:merge_request_iid/approval_rules/:approval_rule_id1608 behaves like a protected API endpoint for merge request approval rule action1609 disable_overriding_approvers_per_merge_request is set to true1610 responds with 4031611 disable_overriding_approvers_per_merge_request is set to false1612 user cannot update merge request1613 responds with 4031614 when user can update merge request and approval rules can be overridden1615 responds with 2041616 behaves like a protected API endpoint that only allows action on regular merge request approval rule1617 approval rule is not a regular type1618 responds with 4031619Projects::IssuesController1620 licensed features1621 licensed1622 #update1623 sets issue weight and epic1624 #new1625 when a vulnerability_id is provided1626 sets the vulnerability_id1627 sets the confidential flag to true by default1628 default templates1629 when a template has been set via project settings1630 does not select a default template1631 when a template has not been set via project settings1632 selects a default template1633 #create1634 sets issue weight and epic1635 when created from a vulnerability1636 overwrites the default fields1637 does not show an error message1638 creates vulnerability feedback1639 behaves like creates vulnerability issue link1640 links the issue to the vulnerability1641 when vulnerability already has a linked issue1642 shows an error message1643 unlicensed1644 #update1645 does not set issue weight1646 #new1647 when a vulnerability_id is provided1648 does not build issue from a vulnerability1649 #create1650 does not set issue weight ane epic1651 GET #show1652 when issue is of type objective1653 show action1654 behaves like redirects to show work item page1655 redirects to work item page using iid1656 edit action1657 behaves like redirects to show work item page1658 redirects to work item page using iid1659 update action1660 behaves like redirects to show work item page1661 redirects to work item page using iid1662 when issue is of type key_result1663 show action1664 behaves like redirects to show work item page1665 redirects to work item page using iid1666 edit action1667 behaves like redirects to show work item page1668 redirects to work item page using iid1669 update action1670 behaves like redirects to show work item page1671 redirects to work item page using iid1672 GET #discussions1673 with a related system note1674 when authenticated1675 behaves like user can see confidential issue1676 when a user is a reporter1677 displays related notes1678 behaves like user can see confidential issue1679 when a user is a developer1680 displays related notes1681 behaves like user can see confidential issue1682 when a user is a maintainer1683 displays related notes1684 behaves like user cannot see confidential issue1685 when a user is a guest1686 redacts note related to a confidential issue1687 when unauthenticated1688 behaves like user cannot see confidential issue1689 when a user is a 01690 redacts note related to a confidential issue1691 is_gitlab_employee attribute1692 when user is a gitlab team member1693 renders the is_gitlab_employee attribute1694 when feature flag is disabled1695 behaves like non inclusion of gitlab team member badge1696 does not render the is_gitlab_employee attribute1697 when user is not a gitlab team member1698 behaves like non inclusion of gitlab team member badge1699 does not render the is_gitlab_employee attribute1700 when feature flag is disabled1701 behaves like non inclusion of gitlab team member badge1702 does not render the is_gitlab_employee attribute1703 PUT #update1704 changing the assignee1705 when the gitlab_employee_badge flag is off1706 does not expose the is_gitlab_employee attribute on the assignee1707 when the gitlab_employee_badge flag is on but we are not on gitlab.com1708 does not expose the is_gitlab_employee attribute on the assignee1709 when the gitlab_employee_badge flag is on and we are on gitlab.com1710 exposes the is_gitlab_employee attribute on the assignee1711 behaves like DescriptionDiffActions1713 when license is available1714 GET description_diff1715 returns the diff with the previous version1716 returns the diff with the previous version of the specified start_version_id1717 when description version is from another issuable1718 returns 4041719 when start_version_id is from another issuable1720 returns 4041721 when start_version_id is deleted1722 returns 4041723 when description version is deleted1724 returns 4041725 DELETE description_diff1726 returns 2001727 when start_version_id is present1728 returns 2001729 when version is already deleted1730 returns 4041731 when user cannot admin issuable1732 returns 4041733 when license is not available1734 GET description_diff1735 returns 4041736 DELETE description_diff1737 returns 4041738Projects::LicensesController1739 GET #index1740 when the "Security and Compliance" feature is disabled1741 is expected to respond with numeric status code not_found1742 with authorized user1743 when feature is available1744 with reporter1745 counts usage of the feature1746 when requesting HTML1747 returns the necessary licenses app data1748 with existing report1749 when the license_scanning_sbom_scanner feature flag is disabled1750 returns success code1751 returns a hash with licenses sorted by name1752 returns status ok1753 includes the pagination headers1754 with pagination params1755 return only 1 license1756 when the license_scanning_sbom_scanner feature flag is enabled1757 returns success code1758 returns a hash with licenses sorted by name1759 returns status ok1760 includes the pagination headers1761 with pagination params1762 return only 1 license1763 when software policies are applied to some of the most recently detected licenses1764 when the license_scanning_sbom_scanner feature flag is disabled1765 when loading all policies1766 is expected to respond with numeric status code ok1767 is expected to equal 41768 sorts by name by default1769 includes a policy for an unclassified and known license that was detected in the scan report1770 includes a policy for a denied license found in the scan report1771 includes a policy for an allowed license NOT found in the latest scan report1772 includes an entry for an unclassified and unknown license found in the scan report1773 when loading software policies that match licenses detected in the most recent license scan report1774 is expected to respond with numeric status code ok1775 only includes policies for licenses detected in the most recent scan report1776 includes an unclassified policy for a known license detected in the scan report1777 includes a classified license for a known license detected in the scan report1778 includes an unclassified and unknown license discovered in the scan report1779 when loading `allowed` software policies only1780 is expected to respond with numeric status code ok1781 is expected to equal 11782 includes only `allowed` policies1783 when loading `allowed` and `denied` software policies1784 is expected to respond with numeric status code ok1785 is expected to equal 21786 includes `denied` policies1787 includes `allowed` policies1788 when loading policies ordered by `classification` in `ascending` order1789 is expected to respond with numeric status code ok1790 is expected to eq ["allowed", "unclassified", "unclassified", "denied"]1791 when the license_scanning_sbom_scanner feature flag is enabled1792 when loading all policies1793 is expected to respond with numeric status code ok1794 is expected to equal 41795 sorts by name by default1796 includes a policy for an unclassified and known license that was detected in the scan report1797 includes a policy for a denied license found in the scan report1798 includes a policy for an allowed license NOT found in the latest scan report1799 includes an entry for an unclassified and unknown license found in the scan report1800 when loading software policies that match licenses detected in the most recent license scan report1801 is expected to respond with numeric status code ok1802 only includes policies for licenses detected in the most recent scan report1803 includes an unclassified policy for a known license detected in the scan report1804 includes a classified license for a known license detected in the scan report1805 includes an unclassified and unknown license discovered in the scan report1806 when loading `allowed` software policies only1807 is expected to respond with numeric status code ok1808 is expected to equal 11809 includes only `allowed` policies1810 when loading `allowed` and `denied` software policies1811 is expected to respond with numeric status code ok1812 is expected to equal 21813 includes `denied` policies1814 includes `allowed` policies1815 when loading policies ordered by `classification` in `ascending` order1816 is expected to respond with numeric status code ok1817 is expected to eq ["allowed", "unclassified", "unclassified", "denied"]1818 without existing license scanning report1819 returns status job_not_set_up1820 with maintainer1821 responds to an HTML request1822 when feature is not available1823 returns 4041824 with unauthorized user1825 returns 4041826API::GroupPushRule GroupPushRule1827 GET /groups/:id/push_rule1828 behaves like GET request permissions for admin mode1829 behaves like when admin1830 behaves like makes request1831 returns1832 behaves like makes request1833 returns1834 behaves like when user1835 returns1836 behaves like makes request1837 returns1838 when unlicensed1839 behaves like not found when feature is unavailable1840 is expected to respond with numeric status code not_found1841 authorized user1842 when licensed1843 returns attributes as expected1844 matches response schema1845 when reject_unsigned_commits is unavailable1846 is expected not to have key "reject_unsigned_commits"1847 when commit_committer_check is unavailable1848 is expected not to have key "commit_committer_check"1849 permissions1850 behaves like allow access to api based on role1851 is expected to be allowed for :owner1852 is expected to be denied for :developer1853 is expected to be denied for :reporter1854 is expected to be denied for :guest1855 is expected to be denied for :anonymous1856 when admin1857 is expected to be allowed for :admin1858 when push rule does not exist1859 returns not found1860 POST /groups/:id/push_rule1861 behaves like POST request permissions for admin mode1862 behaves like when admin1863 behaves like makes request1864 returns1865 behaves like makes request1866 returns1867 behaves like when user1868 returns1869 behaves like makes request1870 returns1871 when unlicensed1872 behaves like not found when feature is unavailable1873 is expected to respond with numeric status code not_found1874 authorized user1875 when licensed1876 is expected to respond with numeric status code created1877 is expected to change `PushRule.count` by 11878 creates record with appropriate attributes1879 when push rule exists1880 is expected to eq "Group push rule exists, try updating"1881 permissions1882 behaves like allow access to api based on role1883 is expected to be allowed for :owner1884 is expected to be denied for :developer1885 is expected to be denied for :reporter1886 is expected to be denied for :guest1887 is expected to be denied for :anonymous1888 when admin1889 is expected to be allowed for :admin1890 when no rule is specified1891 is expected to include "at least one parameter must be provided"1892 when reject_unsigned_commits is unavailable1893 returns forbidden1894 and reject_unsigned_commits is not set1895 returns created1896 when commit_committer_check is unavailable1897 is expected to respond with numeric status code forbidden1898 and commit_committer_check is not set1899 returns created1900 PUT /groups/:id/push_rule1901 behaves like PUT request permissions for admin mode1902 behaves like when admin1903 behaves like makes request1904 returns1905 behaves like makes request1906 returns1907 behaves like when user1908 returns1909 behaves like makes request1910 returns1911 when unlicensed1912 behaves like not found when feature is unavailable1913 is expected to respond with numeric status code not_found1914 authorized user1915 when licensed1916 is expected to respond with numeric status code ok1917 updates attributes as expected1918 when push rule does not exist for group1919 returns not found1920 permissions1921 behaves like allow access to api based on role1922 is expected to be allowed for :owner1923 is expected to be denied for :developer1924 is expected to be denied for :reporter1925 is expected to be denied for :guest1926 is expected to be denied for :anonymous1927 when admin1928 is expected to be allowed for :admin1929 when no rule is specified1930 is expected to include "at least one parameter must be provided"1931 when reject_unsigned_commits is unavailable1932 returns forbidden1933 and reject_unsigned_commits is not set1934 returns status ok1935 when commit_committer_check is unavailable1936 is expected to respond with numeric status code forbidden1937 and commit_committer_check is not set1938 returns status ok1939 DELETE /groups/:id/push_rule1940 behaves like DELETE request permissions for admin mode1941 behaves like when admin1942 behaves like makes request1943 returns1944 behaves like makes request1945 returns1946 behaves like when user1947 returns1948 behaves like makes request1949 returns1950 authorized user1951 when licensed1952 with group push rule1953 is expected to equal nil1954 when push rule does not exist1955 returns not found1956 when unlicensed1957 behaves like not found when feature is unavailable1958 is expected to respond with numeric status code not_found1959 permissions1960 behaves like allow access to api based on role1961 is expected to be allowed for :owner1962 is expected to be denied for :developer1963 is expected to be denied for :reporter1964 is expected to be denied for :guest1965 is expected to be denied for :anonymous1966 when admin1967 is expected to be allowed for :admin1968API::ProjectAliases1969 without premium license1970 GET /project_aliases1971 returns 4031972 behaves like GET request permissions for admin mode1973 behaves like when admin1974 behaves like makes request1975 returns1976 behaves like makes request1977 returns1978 behaves like when user1979 returns1980 behaves like makes request1981 returns1982 GET /project_aliases/:name1983 returns 4031984 behaves like GET request permissions for admin mode1985 behaves like when admin1986 behaves like makes request1987 returns1988 behaves like makes request1989 returns1990 behaves like when user1991 returns1992 behaves like makes request1993 returns1994 POST /project_aliases1995 returns 4031996 behaves like POST request permissions for admin mode1997 behaves like when admin1998 behaves like makes request1999 returns2000 behaves like makes request2001 returns2002 behaves like when user2003 returns2004 behaves like makes request2005 returns2006 DELETE /project_aliases/:name2007 returns 4032008 behaves like DELETE request permissions for admin mode2009 behaves like when admin2010 behaves like makes request2011 returns2012 behaves like makes request2013 returns2014 behaves like when user2015 returns2016 behaves like makes request2017 returns2018 with premium license2019 GET /project_aliases2020 behaves like GET request permissions for admin mode2021 behaves like when admin2022 behaves like makes request2023 returns2024 behaves like makes request2025 returns2026 behaves like when user2027 returns2028 behaves like makes request2029 returns2030 behaves like GitLab administrator only API endpoint2031 anonymous user2032 returns 4012033 regular user2034 returns 4032035 admin2036 returns the project aliases list2037 GET /project_aliases/:name2038 behaves like GET request permissions for admin mode2039 behaves like when admin2040 behaves like makes request2041 returns2042 behaves like makes request2043 returns2044 behaves like when user2045 returns2046 behaves like makes request2047 returns2048 behaves like GitLab administrator only API endpoint2049 anonymous user2050 returns 4012051 regular user2052 returns 4032053 admin2054 existing project alias2055 returns the project alias2056 non-existent project alias2057 returns 4042058 POST /project_aliases2059 behaves like POST request permissions for admin mode2060 behaves like when admin2061 behaves like makes request2062 returns2063 behaves like makes request2064 returns2065 behaves like when user2066 returns2067 behaves like makes request2068 returns2069 behaves like GitLab administrator only API endpoint2070 anonymous user2071 returns 4012072 regular user2073 returns 4032074 admin2075 existing project alias2076 returns 4002077 non-existent project alias2078 returns 2002079 DELETE /project_aliases/:name2080 behaves like DELETE request permissions for admin mode2081 behaves like when admin2082 behaves like makes request2083 returns2084 behaves like makes request2085 returns2086 behaves like when user2087 returns2088 behaves like makes request2089 returns2090 behaves like GitLab administrator only API endpoint2091 anonymous user2092 returns 4012093 regular user2094 returns 4032095 admin2096 existing project alias2097 returns 2042098 non-existent project alias2099 returns 4042100Users::IdentityVerificationController2101 # order random2102 GET success2103 signs in the user2104 deletes the verification_user_id from the session2105 renders the template with the after_sign_in_path_for variable2106 when not yet verified2107 redirects back to identity_verification_path2108 #show2109 renders template show with layout minimal2110 behaves like it requires a valid verification_user_id2111 handles sticking, logs the error and redirects2112 behaves like it requires an unconfirmed user2113 when session contains a `verification_user_id` from a confirmed user2114 is expected to redirect to "/users/identity_verification/success"2115 when session contains a `verification_user_id` from an unconfirmed user2116 is expected to respond with numeric status code ok2117 behaves like it requires oauth users to go through ArkoseLabs challenge2118 is expected to redirect to "/users/identity_verification/arkose_labs_challenge"2119 when arkose_labs_oauth_signup_challenge feature flag is disabled2120 is expected not to redirect to "/users/identity_verification/arkose_labs_challenge"2121 when user has an arkose_risk_band2122 is expected not to redirect to "/users/identity_verification/arkose_labs_challenge"2123 when request is for QA2124 is expected not to redirect to "/users/identity_verification/arkose_labs_challenge"2125 GET arkose_labs_challenge2126 renders arkose_labs_challenge template2127 behaves like it requires a valid verification_user_id2128 handles sticking, logs the error and redirects2129 behaves like it requires an unconfirmed user2130 when session contains a `verification_user_id` from a confirmed user2131 is expected to redirect to "/users/identity_verification/success"2132 when session contains a `verification_user_id` from an unconfirmed user2133 is expected to respond with numeric status code ok2134 #send_phone_verification_code2135 behaves like it requires a valid verification_user_id2136 handles sticking, logs the error and redirects2137 behaves like it requires an unconfirmed user2138 when session contains a `verification_user_id` from a confirmed user2139 is expected to redirect to "/users/identity_verification/success"2140 when session contains a `verification_user_id` from an unconfirmed user2141 is expected to respond with numeric status code ok2142 behaves like it requires oauth users to go through ArkoseLabs challenge2143 is expected to redirect to "/users/identity_verification/arkose_labs_challenge"2144 when arkose_labs_oauth_signup_challenge feature flag is disabled2145 is expected not to redirect to "/users/identity_verification/arkose_labs_challenge"2146 when user has an arkose_risk_band2147 is expected not to redirect to "/users/identity_verification/arkose_labs_challenge"2148 when request is for QA2149 is expected not to redirect to "/users/identity_verification/arkose_labs_challenge"2150 when sending the code is successful2151 responds with status 200 OK2152 logs and tracks the success attempt2153 when sending the code is unsuccessful2154 logs and tracks the failed attempt2155 responds with error message2156 #verify_phone_verification_code2157 behaves like it requires a valid verification_user_id2158 handles sticking, logs the error and redirects2159 behaves like it requires an unconfirmed user2160 when session contains a `verification_user_id` from a confirmed user2161 is expected to redirect to "/users/identity_verification/success"2162 when session contains a `verification_user_id` from an unconfirmed user2163 is expected to respond with numeric status code ok2164 behaves like it requires oauth users to go through ArkoseLabs challenge2165 is expected to redirect to "/users/identity_verification/arkose_labs_challenge"2166 when arkose_labs_oauth_signup_challenge feature flag is disabled2167 is expected not to redirect to "/users/identity_verification/arkose_labs_challenge"2168 when user has an arkose_risk_band2169 is expected not to redirect to "/users/identity_verification/arkose_labs_challenge"2170 when request is for QA2171 is expected not to redirect to "/users/identity_verification/arkose_labs_challenge"2172 when sending the code is successful2173 responds with status 200 OK2174 logs and tracks the success attempt2175 when sending the code is unsuccessful2176 logs and tracks the failed attempt2177 responds with error message2178 #resend_email_code2179 behaves like it requires a valid verification_user_id2180 handles sticking, logs the error and redirects2181 behaves like it requires an unconfirmed user2182 when session contains a `verification_user_id` from a confirmed user2183 is expected to redirect to "/users/identity_verification/success"2184 when session contains a `verification_user_id` from an unconfirmed user2185 is expected to respond with numeric status code ok2186 behaves like it requires oauth users to go through ArkoseLabs challenge2187 is expected to redirect to "/users/identity_verification/arkose_labs_challenge"2188 when arkose_labs_oauth_signup_challenge feature flag is disabled2189 is expected not to redirect to "/users/identity_verification/arkose_labs_challenge"2190 when user has an arkose_risk_band2191 is expected not to redirect to "/users/identity_verification/arkose_labs_challenge"2192 when request is for QA2193 is expected not to redirect to "/users/identity_verification/arkose_labs_challenge"2194 when rate limited2195 renders the result as json2196 when successful2197 sets the confirmation_sent_at time2198 sets the confirmation_token to the encrypted custom token2199 sends the confirmation instructions email2200 logs and tracks resending the instructions2201 renders the result as json2202 POST verify_arkose_labs_session2203 behaves like it requires a valid verification_user_id2204 handles sticking, logs the error and redirects2205 behaves like it requires an unconfirmed user2206 when session contains a `verification_user_id` from a confirmed user2207 is expected to redirect to "/users/identity_verification/success"2208 when session contains a `verification_user_id` from an unconfirmed user2209 is expected to respond with numeric status code ok2210 when arkose_labs_token param is not present2211 behaves like renders arkose_labs_challenge with the correct alert flash2212 renders arkose_labs_challenge with the correct alert flash2213 when arkose_labs_token param is present2214 when token verification fails2215 behaves like renders arkose_labs_challenge with the correct alert flash2216 renders arkose_labs_challenge with the correct alert flash2217 when token verification succeeds2218 redirects to show action2219 #verify_email_code2220 behaves like it requires a valid verification_user_id2221 handles sticking, logs the error and redirects2222 behaves like it requires an unconfirmed user2223 when session contains a `verification_user_id` from a confirmed user2224 is expected to redirect to "/users/identity_verification/success"2225 when session contains a `verification_user_id` from an unconfirmed user2226 is expected to respond with numeric status code ok2227 behaves like it requires oauth users to go through ArkoseLabs challenge2228 is expected to redirect to "/users/identity_verification/arkose_labs_challenge"2229 when arkose_labs_oauth_signup_challenge feature flag is disabled2230 is expected not to redirect to "/users/identity_verification/arkose_labs_challenge"2231 when user has an arkose_risk_band2232 is expected not to redirect to "/users/identity_verification/arkose_labs_challenge"2233 when request is for QA2234 is expected not to redirect to "/users/identity_verification/arkose_labs_challenge"2235 when validation was successful2236 confirms the user2237 accepts pending invitations2238 logs and tracks the successful attempt2239 renders the result as json2240 when failing to validate2241 logs and tracks the failed attempt2242 renders the result as json2243getting group information2244 Query group(fullPath)2245 when Group SSO is enforced2246 returns null data when not authorized2247 allows access via session2248 allows access via bearer token2249 when loading vulnerabilityGrades alongside with Vulnerability.userNotesCount2250 finds vulnerability grades for only projects that were added to instance security dashboard2251 returns a successful response2252 when loading multiple epics2253 can lookahead to eliminate N+1 queries2254 when loading release statistics2255 when the group is private2256 behaves like correct access to release statistics2257 when the user is not logged in2258 behaves like no access to release statistics2259 returns data about release utilization within the group2260 when the user is not a member of the group2261 behaves like no access to release statistics2262 returns data about release utilization within the group2263 when the user is at least a guest2264 behaves like full access to release statistics2265 when there are no releases2266 returns 0 for both statistics2267 when there are some releases2268 returns data about release utilization within the group2269 when the group is public2270 behaves like correct access to release statistics2271 when the user is not logged in2272 behaves like no access to release statistics2273 returns data about release utilization within the group2274 when the user is not a member of the group2275 behaves like no access to release statistics2276 returns data about release utilization within the group2277 when the user is at least a guest2278 behaves like full access to release statistics2279 when there are no releases2280 returns 0 for both statistics2281 when there are some releases2282 returns data about release utilization within the group2283 pagination2284 when default sorting2285 behaves like sorted paginated query2286 behaves like requires variables2287 shared example requires variables to be set2289 when sorting2290 sorts correctly2291 when paginating2292 paginates correctly2293API::StatusChecks2294 GET :id/merge_requests/:merge_request_iid/status_checks2295 when current_user has access2296 when merge request has received status check responses2297 returns a 2002298 returns the total number of status checks for the MRs project2299 has the correct status values2300 POST :id/:merge_requests/:merge_request_iid/status_check_responses2301 permissions2302 user_permissions: :maintainer, applies_to_target_project: true, expected_status: :created2303 returns the correct status2304 user_permissions: :maintainer, applies_to_target_project: false, expected_status: :not_found2305 returns the correct status2306 user_permissions: :developer, applies_to_target_project: true, expected_status: :created2307 returns the correct status2308 user_permissions: :developer, applies_to_target_project: false, expected_status: :not_found2309 returns the correct status2310 user_permissions: :guest, applies_to_target_project: true, expected_status: :forbidden2311 returns the correct status2312 user_permissions: :guest, applies_to_target_project: false, expected_status: :not_found2313 returns the correct status2314 when user has access2315 when external status check ID does not belong to the requested project2316 returns a not found status2317 when sha is not the source branch HEAD2318 does not create a new approval2319 returns a conflict error2320 when user is not authenticated2321 returns an unauthorized status2322 DELETE projects/:id/external_status_checks/:check_id2323 deletes the specified rule2324 when feature is disabled, unlicensed or user has permission2325 licensed: false, project_owner: false, status: :not_found2326 returns the correct status code2327 licensed: false, project_owner: true, status: :unauthorized2328 returns the correct status code2329 licensed: true, project_owner: false, status: :not_found2330 returns the correct status code2331 licensed: true, project_owner: true, status: :success2332 returns the correct status code2333 POST projects/:id/external_status_checks2334 successfully creating new external approval rule2335 creates a new external approval rule2336 with protected branches2337 returns expected status code2338 creates protected branch records2339 responds with expected JSON2340 when feature is disabled, unlicensed or user has permission2341 licensed: false, project_owner: false, status: :not_found2342 returns the correct status code2343 licensed: false, project_owner: true, status: :unauthorized2344 returns the correct status code2345 licensed: true, project_owner: false, status: :not_found2346 returns the correct status code2347 licensed: true, project_owner: true, status: :created2348 returns the correct status code2349 GET projects/:id/external_status_checks2350 responds with expected JSON2351 paginates correctly2352 when feature is disabled, unlicensed or user has permission2353 licensed: false, project_owner: false, status: :not_found2354 returns the correct status code2355 licensed: false, project_owner: true, status: :unauthorized2356 returns the correct status code2357 licensed: true, project_owner: false, status: :not_found2358 returns the correct status code2359 licensed: true, project_owner: true, status: :success2360 returns the correct status code2361 POST :id/merge_requests/:merge_request_iid/status_checks/:external_status_check_id2362 when unlicensed2363 returns unauthorized status2364 when licensed2365 permissions2366 user_permissions: :maintainer, applies_to_target_project: true, expected_status: :accepted2367 returns the correct status2368 user_permissions: :maintainer, applies_to_target_project: false, expected_status: :not_found2369 returns the correct status2370 user_permissions: :developer, applies_to_target_project: true, expected_status: :accepted2371 returns the correct status2372 user_permissions: :developer, applies_to_target_project: false, expected_status: :not_found2373 returns the correct status2374 user_permissions: :guest, applies_to_target_project: true, expected_status: :forbidden2375 returns the correct status2376 user_permissions: :guest, applies_to_target_project: false, expected_status: :not_found2377 returns the correct status2378 when current_user has access2379 when status check is failed2380 calls async execute with correct data2381 returns accepted response2382 when status check is passed2383 returns unprocessable_entity response2384 PUT projects/:id/external_status_checks/:check_id2385 successfully updating external approval rule2386 updates an approval rule2387 responds with correct http status2388 when referencing a protected branch outside of the project2389 is invalid2390 with protected branches2391 returns expected status code2392 creates protected branch records2393 responds with expected JSON2394 when feature is disabled, unlicensed or user has permission2395 licensed: false, project_owner: false, status: :not_found2396 returns the correct status code2397 licensed: false, project_owner: true, status: :unauthorized2398 returns the correct status code2399 licensed: true, project_owner: false, status: :not_found2400 returns the correct status code2401 licensed: true, project_owner: true, status: :success2402 returns the correct status code2403API::EpicLinks2404 GET /groups/:id/epics/:epic_iid/epics2405 behaves like user does not have access2406 returns 403 when subepics feature is disabled2407 returns 404 not found error for a user without permissions to see the group2408 unauthenticated user2409 returns 401 unauthorized error2410 when subepics feature is enabled2411 returns 200 status2412 with group hierarchy2413 returns children from any group hierarchy2414 executes limited number of N+1 queries2415 POST /groups/:id/epics/:epic_iid/epics/child_epic_id2416 behaves like user does not have access2417 returns 403 when subepics feature is disabled2418 returns 404 not found error for a user without permissions to see the group2419 unauthenticated user2420 returns 401 unauthorized error2421 when subepics feature is enabled2422 when user is not a member2423 returns 4032424 when user is guest2425 returns 201 status2426 when target epic cannot be read2427 returns 404 status2428 POST /groups/:id/epics/:epic_iid/epics2429 behaves like user does not have access2430 returns 403 when subepics feature is disabled2431 returns 404 not found error for a user without permissions to see the group2432 unauthenticated user2433 returns 401 unauthorized error2434 when subepics feature is enabled2435 when user is not a member2436 returns 4032437 when user is a guest2438 returns 201 status2439 when user is a reporter2440 returns 201 status2441 does apply the confidential parameter if set2442 when the parent epic is confidential2443 copies the confidentiality status from the parent epic2444 does not allow creating a non-confidential sub-epic2445 and epic has errors2446 returns 400 error2447 PUT /groups/:id/epics/:epic_iid/epics/:child_epic_id2448 behaves like user does not have access2449 returns 403 when subepics feature is disabled2450 returns 404 not found error for a user without permissions to see the group2451 unauthenticated user2452 returns 401 unauthorized error2453 when subepics are enabled2454 when user has permissions to reorder epics2455 returns status 2002456 when child belongs to a different group hierarchy2457 returns status 404 if user is not a member2458 returns status 200 if user has guest access2459 when user does not have permissions to reorder epics2460 returns status 4032461 DELETE /groups/:id/epics/:epic_iid/epics2462 behaves like user does not have access2463 returns 403 when subepics feature is disabled2464 returns 404 not found error for a user without permissions to see the group2465 unauthenticated user2466 returns 401 unauthorized error2467 when epics feature is enabled2468 when user is not a member2469 returns 4032470 when user is guest2471 returns 200 status2472 with confidential epic2473 returns status 4032474 when child belongs to a different group hierarchy2475 when user is not a member of the child's group2476 returns 404 status2477 when user has guest access to child's group2478 returns 200 status2479 when epics feature is disabled2480 when user is developer2481 returns 403 status2482API::ManagedLicenses2483 GET /projects/:id/managed_licenses2484 with license management not available2485 returns a forbidden status2486 with an authorized user with proper permissions2487 returns project managed licenses2488 with policies from license_finding rules2489 returns policies not belonging to license_finding rules2490 with authorized user without read permissions2491 returns project managed licenses to users with read permissions2492 with unauthorized user2493 returns project managed licenses for public project2494 responses with 404 Not Found for not existing project2495 when project is private2496 responses with 404 Not Found2497 GET /projects/:id/managed_licenses/:managed_license_id2498 authorized user with proper permissions2499 returns project managed license details2500 returns project managed license details using the license name as key2501 responds with 404 Not Found if requesting non-existing managed license2502 authorized user with read permissions2503 returns project managed license details2504 unauthorized user2505 does not return project managed license details2506 policy from license_finding rules2507 responds with 404 Not Found2508 POST /projects/:id/managed_licenses2509 authorized user with proper permissions2510 creates managed license2511 does not allow to duplicate managed license name2512 authorized user with read permissions2513 does not create managed license2514 authorized user without permissions2515 does not create managed license2516 unauthorized user2517 does not create managed license2518 PATCH /projects/:id/managed_licenses/:managed_license_id2519 authorized user with proper permissions2520 updates managed license data2521 responds with 404 Not Found if requesting non-existing managed license2522 authorized user with read permissions2523 does not update managed license2524 authorized user without permissions2525 does not update managed license2526 unauthorized user2527 does not update managed license2528 policy from license_finding rules2529 responds with 404 Not Found2530 DELETE /projects/:id/managed_licenses/:managed_license_id2531 authorized user with proper permissions2532 deletes managed license2533 responds with 404 Not Found if requesting non-existing managed license2534 authorized user with read permissions2535 does not delete managed license2536 authorized user without permissions2537 does not delete managed license2538 unauthorized user2539 does not delete managed license2540 policy from license_finding rules2541 does not delete managed license2542Update a work item2543 with iteration widget input2544 when iterations feature is unlicensed2545 behaves like work item is not updated2546 ignores the update2547 when iterations feature is licensed2548 behaves like user without permission to admin work item cannot update the attribute2549 when a guest user is also an author of the work item2550 behaves like work item is not updated2551 ignores the update2552 when user has permissions to admin a work item2553 when setting to a new iteration2554 behaves like work item's iteration is updated2555 updates the work item's iteration2556 when setting iteration to null2557 behaves like work item's iteration is updated2558 updates the work item's iteration2559 when the user does not have permission to update the work item2560 behaves like a mutation that returns top-level errors2561 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"2562 behaves like work item is not updated2563 ignores the update2564 with weight widget input2565 when issuable weights is unlicensed2566 behaves like work item is not updated2567 ignores the update2568 when issuable weights is licensed2569 when user has permissions to admin a work item2570 behaves like update work item weight widget2571 updates the weight widget2572 when the updated work item is not valid2573 returns validation errors without the work item2574 when setting weight to null2575 updates the work item2576 when using quick action2577 behaves like update work item weight widget2578 updates the weight widget2579 when the updated work item is not valid2580 returns validation errors without the work item2581 when setting weight to null2582 updates the work item2583 when the work item type does not support the weight widget2584 behaves like work item is not updated2585 ignores the update2586 behaves like user without permission to admin work item cannot update the attribute2587 when a guest user is also an author of the work item2588 behaves like work item is not updated2589 ignores the update2590 with progress widget input2591 when okrs is unlicensed2592 behaves like work item is not updated2593 ignores the update2594 when okrs is licensed2595 when user has permissions to admin a work item2596 behaves like update work item progress widget2597 updates the progress widget2598 when setting progress to an invalid value2599 if progress is greater than 1002600 behaves like does not update work_item progress widget2601 does not update progress widget2602 if progress is less than 02603 behaves like does not update work_item progress widget2604 does not update progress widget2605 behaves like user without permission to admin work item cannot update the attribute2606 when a guest user is also an author of the work item2607 behaves like work item is not updated2608 ignores the update2609 when the user does not have permission to update the work item2610 behaves like a mutation that returns top-level errors2611 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"2612 behaves like work item is not updated2613 ignores the update2614 with status widget input2615 when requirements is unlicensed2616 behaves like work item is not updated2617 ignores the update2618 when requirements is licensed2619 when user has permissions to admin a work item2620 behaves like update work item status widget2621 updates the status widget2622 when the updated work item is not valid2623 returns validation errors without the work item2624 when setting status to an invalid value2625 does not update the work item's status2626 behaves like user without permission to admin work item cannot update the attribute2627 when a guest user is also an author of the work item2628 behaves like work item is not updated2629 ignores the update2630 when the user does not have permission to update the work item2631 behaves like a mutation that returns top-level errors2632 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"2633 behaves like work item is not updated2634 ignores the update2635 with health status widget input2636 when issuable_health_status is unlicensed2637 behaves like work item is not updated2638 ignores the update2639 when issuable_health_status is licensed2640 behaves like user without permission to admin work item cannot update the attribute2641 when a guest user is also an author of the work item2642 behaves like work item is not updated2643 ignores the update2644 when user has permissions to update the work item2645 updates work item health status2646 when using quick action2647 updates work item health status2648 when clearing health status2649 updates the work item2650 when the work item type does not support the health status widget2651 behaves like work item is not updated2652 ignores the update2653Projects::MergeRequests::CreationsController2654 GET #new2655 default templates2656 when a template has been set via project settings2657 does not select a default template2658 when a template has not been set via project settings2659 selects a default template2660 POST #create2661 disables query limiting2662 the approvals_before_merge param2663 when it is less than the one in the target project2664 sets the param to the project value2665 creates the merge request2666 when it is equal to the one in the target project2667 sets the param to the correct value2668 creates the merge request2669 when it is greater than the one in the target project2670 saves the param in the merge request2671 creates the merge request2672 when the target project is a fork of a deleted project2673 uses the default from the target project2674 creates the merge request2675 overriding approvers per MR2676 enabled2677 does create approval rules2678 disabled2679 does not create approval rules2680Projects::Settings::MergeRequestsController2681 # order random2682 PUT #update2683 updates Merge Request Approvers attributes2684 updates Issuable Default Templates attributes2685 when merge_pipelines_enabled param is specified2686 updates the attribute2687 when license is not sufficient2688 does not update the attribute2689 when suggested_reviewers_enabled param is specified2690 updates the attribute2691 when merge_trains_enabled param is specified2692 updates the attribute2693 when license is not sufficient2694 does not update the attribute2695 when only_allow_merge_if_all_status_checks_passed param is specified2696 behaves like update only allow merge if all status checks passed2697 when only_allow_merge_if_all_status_checks_passed param is specified2698 updates the attribute2699 when license is not sufficient2700 does not update the attribute2701 when auto_rollback_enabled param is specified2702 updates the attribute2703 when license is not sufficient2704 does not update the attribute2705 merge request approvers settings2706 does not push security_orchestration_policies licensed feature2707 :disable_overriding_approvers_per_merge_request2708 behaves like merge request approvers rules2709 can_modify: true, param_value: true, final_value: true2710 updates project if needed2711 can_modify: true, param_value: false, final_value: false2712 updates project if needed2713 can_modify: false, param_value: true, final_value: nil2714 updates project if needed2715 can_modify: false, param_value: false, final_value: nil2716 updates project if needed2717 :merge_requests_author_approval2718 behaves like merge request approvers rules2719 can_modify: true, param_value: true, final_value: true2720 updates project if needed2721 can_modify: true, param_value: false, final_value: false2722 updates project if needed2723 can_modify: false, param_value: true, final_value: nil2724 updates project if needed2725 can_modify: false, param_value: false, final_value: nil2726 updates project if needed2727 :merge_requests_disable_committers_approval2728 behaves like merge request approvers rules2729 can_modify: true, param_value: true, final_value: true2730 updates project if needed2731 can_modify: true, param_value: false, final_value: false2732 updates project if needed2733 can_modify: false, param_value: true, final_value: nil2734 updates project if needed2735 can_modify: false, param_value: false, final_value: nil2736 updates project if needed2737 with security_orchestration_policies licensed feature enabled2738 pushes security_orchestration_policies licensed feature2739API::Admin::Search::Zoekt2740 # order random2741 DELETE /admin/zoekt/shards/:shard_id/indexed_namespaces/:namespace_id2742 removes the Zoekt::IndexedNamespace for this shard and namespace pair2743 behaves like DELETE request permissions for admin mode2744 behaves like when admin2745 behaves like makes request2746 returns2747 behaves like makes request2748 returns2749 behaves like when user2750 returns2751 behaves like makes request2752 returns2753 behaves like an API that returns 401 for unauthenticated requests2754 returns not_found status2755 with missing shard_id2756 behaves like an API that returns 404 for missing ids2757 returns not_found status2758 with missing namespace_id2759 behaves like an API that returns 404 for missing ids2760 returns not_found status2761 GET /admin/zoekt/shards/:shard_id/indexed_namespaces2762 returns all indexed namespaces for this shard2763 returns at most MAX_RESULTS most recent rows2764 behaves like GET request permissions for admin mode2765 behaves like when admin2766 behaves like makes request2767 returns2768 behaves like makes request2769 returns2770 behaves like when user2771 returns2772 behaves like makes request2773 returns2774 behaves like an API that returns 401 for unauthenticated requests2775 returns not_found status2776 behaves like an API that returns 404 for missing ids2777 returns not_found status2778 PUT /admin/zoekt/shards/:shard_id/indexed_namespaces/:namespace_id2779 creates a Zoekt::IndexedNamespace for this shard and namespace pair2780 behaves like PUT request permissions for admin mode2781 behaves like when admin2782 behaves like makes request2783 returns2784 behaves like makes request2785 returns2786 behaves like when user2787 returns2788 behaves like makes request2789 returns2790 behaves like an API that returns 401 for unauthenticated requests2791 returns not_found status2792 when it already exists2793 returns the existing one2794 with missing shard_id2795 behaves like an API that returns 404 for missing ids2796 returns not_found status2797 with missing namespace_id2798 behaves like an API that returns 404 for missing ids2799 returns not_found status2800 PUT /admin/zoekt/projects/:projects/index2801 triggers indexing for the project2802 behaves like PUT request permissions for admin mode2803 behaves like when admin2804 behaves like makes request2805 returns2806 behaves like makes request2807 returns2808 behaves like when user2809 returns2810 behaves like makes request2811 returns2812 behaves like an API that returns 401 for unauthenticated requests2813 returns not_found status2814 behaves like an API that returns 404 for missing ids2815 returns not_found status2816 GET /admin/zoekt/shards2817 returns all shards2818 behaves like GET request permissions for admin mode2819 behaves like when admin2820 behaves like makes request2821 returns2822 behaves like makes request2823 returns2824 behaves like when user2825 returns2826 behaves like makes request2827 returns2828 behaves like an API that returns 401 for unauthenticated requests2829 returns not_found status2830Projects::PipelinesController2831 GET security2832 with a sast artifact2833 with feature enabled2834 responds with a 200 and show the template2835 with feature disabled2836 redirects to the pipeline page2837 without sast artifact2838 with feature enabled2839 redirects to the pipeline page2840 with feature disabled2841 redirects to the pipeline page2842 GET codequality_report2843 renders the show template2844 GET licenses2845 with a license_scanning report2846 with feature enabled2847 when the license_scanning_sbom_scanner feature flag is false2848 responds with a 200 and show the template2849 when the license_scanning_sbom_scanner feature flag is true2850 responds with a 200 and shows the template2851 with feature enabled json2852 when the license_scanning_sbom_scanner feature flag is disabled2853 returns license scanning report in json format2854 returns MIT license allowed status2855 returns the JSON license data sorted by license name2856 returns a JSON representation of the license data2857 approval_status2858 is expected to eq "allowed"2859 when the license_scanning_sbom_scanner feature flag is enabled2860 returns license scanning report in json format2861 returns MIT license allowed status2862 returns the JSON license data sorted by license name2863 returns a JSON representation of the license data2864 approval_status2865 is expected to eq "allowed"2866 when not authorized2867 is expected to respond with numeric status code not_found2868 with feature disabled2869 redirects to the pipeline page2870 with feature disabled json2871 will not return report2872 with a cyclonedx report2873 with feature enabled2874 when the license_scanning_sbom_scanner feature flag is true2875 responds with a 200 and show the template2876 with feature enabled json2877 when the license_scanning_sbom_scanner feature flag is enabled2878 returns license scanning report in json format2879 returns MIT license allowed status2880 returns the JSON license data sorted by license name2881 returns a JSON representation of the license data2882 approval_status2883 is expected to eq "allowed"2884 without a license_scanning or cyclonedx report2885 with feature enabled2886 redirects to the pipeline page2887 with feature enabled json2888 will return 4042889 with feature disabled2890 redirects to the pipeline page2891 with feature disabled json2892 will return 4042893getting a work item list for a project2894 work items with widgets2895 with status widget2896 returns work items including status2897 avoids N+1 queries2898 when filtering2899 with status widget2900 filters by status argument2901 with legacy requirement widget2902 returns work items including legacy iid2903 avoids N+1 queries2904 when filtering2905 with legacy requirement widget2906 filters by legacy IID argument2907 fetching work item notes widget2908 fetches notes that require gitaly call to parse note2909 when fetching description version diffs2910 behaves like description change diff2911 returns previous description change diff2912 with passed description version id2913 behaves like description change diff2914 returns previous description change diff2915 with description_diffs disabled2916 behaves like description change diff2917 returns previous description change diff2918 with progress widget2919 avoids N+1 queries2920 with test reports widget2921 avoids N+1 queries2922Projects::IssuesController2923 GET #show2924 exposes the escalation_policies licensed feature setting2925 with blocking issues2926 does not cause extra queries when multiple blocking issues are present2927 with test case2928 redirects to test cases show2929 behaves like seat count alert2930 when the namespace qualifies for the alert2931 sets the seat_count_data2932 when the namespace does not qualify for the alert2933 sets the seat_count_data to nil2934 for summarize notes feature2935 when user is a member2936 when license is set2937 exposes the required feature flags2938 when license is not set2939 does not expose the feature flags2940 when user is not a member2941 does not expose the feature flags2942 GET #index2943 when viewing all issues2944 when the namespace qualifies for the alert2945 sets the seat_count_data2946 when the namespace does not qualify for the alert2947 sets the seat_count_data to nil2948 when listing epic issues2949 does not cause extra queries when there are other subepic issues2950API::SamlGroupLinks2951 GET /groups/:id/saml_group_links2952 when license feature is available2953 when unauthorized2954 returns unauthorized error2955 when a less privileged user2956 returns unauthorized error2957 when owner of the group2958 behaves like has expected results2959 returns SAML group links2960 when group does not have any associated saml_group_links2961 returns empty array as response2962 with URL-encoded path of the group2963 behaves like has expected results2964 returns SAML group links2965 when license feature is not available2966 returns unauthorized error2967 POST /groups/:id/saml_group_links2968 when licensed feature is available2969 when unauthorized2970 returns unauthorized error2971 when a less privileged user2972 does not allow less privileged user to add SAML group link2973 when owner of the group and group is saml enabled2974 returns ok and add saml group link2975 when params are missing2976 returns a 400 error when params are missing2977 when params are invalid2978 returns a 400 error when params are invalid2979 when licensed feature is not available2980 returns unauthorized error2981 GET /groups/:id/saml_group_links/:saml_group_name2982 when licensed feature is available2983 when unauthorized2984 returns unauthorized error2985 when owner of the group2986 gets saml group link2987 when invalid group name is passed2988 returns 404 if SAML group can not used for a SAML group link2989 when licensed feature is not available2990 returns authentication error2991 DELETE /groups/:id/saml_group_links/:saml_group_name2992 when licensed feature is available2993 when unauthorized2994 returns unauthorized error2995 when a less privileged user2996 does not remove the SAML group link2997 when owner of the group2998 removes saml group link2999 when invalid group name is passed3000 returns 404 if SAML group can not used for a SAML group link3001 when licensed feature is not available3002 returns authentication error3003Groups::Analytics::CycleAnalytics::ValueStreamsController3004 # order random3005 behaves like value stream controller actions3006 GET index3007 when user is a member3008 returns the persisted value streams3009 when user is not a member3010 renders 4043011 GET #show3012 succeeds3013 when value stream is not found3014 renders 4043015 behaves like authorization examples3016 when not licensed3017 renders 4043018 when user is not a member3019 renders 4043020 GET #new3021 succeeds3022 behaves like authorization examples3023 when not licensed3024 renders 4043025 when user is not a member3026 renders 4043027 GET #edit3028 succeeds3029 when value stream is not found3030 renders 404 not found3031 behaves like authorization examples3032 when not licensed3033 renders 4043034 when user is not a member3035 renders 4043036 PUT #update3037 succeeds3038 when validation error happens3039 returns 422 unprocessable entity3040 when value stream is not found3041 renders 404 not found3042 when updating value stream with in-memory stages3043 returns a successful 200 response3044 when deleting the stage by excluding it from the stages array3045 returns a successful 200 response3046 behaves like authorization examples3047 when not licensed3048 renders 4043049 when user is not a member3050 renders 4043051 POST #create3052 succeeds3053 when validation error happens3054 returns 422 unprocessable entity3055 behaves like authorization examples3056 when not licensed3057 renders 4043058 when user is not a member3059 renders 4043060 DELETE #destroy3061 succeeds3062 when value stream is not found3063 renders 404 not found3064 behaves like authorization examples3065 when not licensed3066 renders 4043067 when user is not a member3068 renders 4043069getting an issue list for a project3070 behaves like graphql issue list request spec EE3071 sorting and pagination3072 when sorting by weight3073 when ascending3074 behaves like sorted paginated query3075 behaves like requires variables3076 shared example requires variables to be set3078 when sorting3079 sorts correctly3080 when paginating3081 paginates correctly3082 when descending3083 behaves like sorted paginated query3084 behaves like requires variables3085 shared example requires variables to be set3087 when sorting3088 sorts correctly3089 when paginating3090 paginates correctly3091 when sorting by published incident3092 when ascending3093 behaves like sorted paginated query3094 behaves like requires variables3095 shared example requires variables to be set3097 when sorting3098 sorts correctly3099 when paginating3100 paginates correctly3101 when descending3102 behaves like sorted paginated query3103 behaves like requires variables3104 shared example requires variables to be set3106 when sorting3107 sorts correctly3108 when paginating3109 paginates correctly3110 when sorting by sla due3111 when ascending3112 behaves like sorted paginated query3113 behaves like requires variables3114 shared example requires variables to be set3116 when sorting3117 sorts correctly3118 when paginating3119 paginates correctly3120 when descending3121 behaves like sorted paginated query3122 behaves like requires variables3123 shared example requires variables to be set3125 when sorting3126 sorts correctly3127 when paginating3128 paginates correctly3129 blocked3130 uses the LazyLinksAggregate service3131 returns the correct blocked count result3132 returns the correct blocked issue detail result3133 behaves like a working graphql query3134 returns a successful response3135 related_vulnerabilities3136 avoids N+1 queries3137 filtered3138 by negated health status3139 only returns issues without the negated health status3140SmartcardController3141 #auth3142 with smartcard_auth enabled3143 redirects to extract certificate3144 with provider param3145 forwards the provider param3146 with smartcard_auth disabled3147 renders 4043148 #extract_certificate3149 with smartcard_auth enabled3150 redirects to verify certificate3151 with provider param3152 forwards the provider param3153 missing NGINX client certificate header3154 renders unauthorized3155 request from different host / port3156 renders 4043157 with smartcard_auth disabled3158 renders 4043159 #verify_certificate3160 Smartcard::Certificate3161 behaves like a client certificate authentication3162 with smartcard_auth enabled3163 allows sign in3164 redirects to root3165 logs audit event3166 stores active session3167 user does not exist3168 signup allowed3169 creates user3170 signup disabled3171 renders 4013172 missing client certificate param3173 renders unauthorized3174 with smartcard_auth disabled3175 renders 4043176 user already exists3177 finds existing user3178 certificate header formats from NGINX3179 escaped format3180 behaves like valid certificate header3181 authenticates user3182 deprecated format3183 behaves like valid certificate header3184 authenticates user3185 Smartcard::LdapCertificate3186 sets correct parameters for LDAP search3187 behaves like a client certificate authentication3188 with smartcard_auth enabled3189 allows sign in3190 redirects to root3191 logs audit event3192 stores active session3193 user does not exist3194 signup allowed3195 creates user3196 signup disabled3197 renders 4013198 missing client certificate param3199 renders unauthorized3200 with smartcard_auth disabled3201 renders 4043202 user already exists3203 finds existing user3204 user has a different identity3205 doesn't login a user3206 doesn't create a new user entry either3207Projects::Security::PoliciesController3208 GET #edit3209 with authorized user3210 when feature is available3211 renders the edit page3212 does not contain any approver data3213 with scan result policy type3214 renders the edit page with approvers data3215 when type is missing3216 redirects to #index3217 when type is invalid3218 redirects to #index3219 when id does not exist3220 returns 4043221 when there is no policy configuration3222 returns 4043223 when policy yaml file does not exist3224 redirects to project page3225 when policy yaml is invalid3226 redirects to policy file3227 when feature is not available3228 returns 4043229 with unauthorized user3230 when feature is available3231 returns 4043232 with anonymous user3233 returns 3023234 GET #new3235 license: true, status: :ok3236 is expected to respond with numeric status code ok3237 license: false, status: :not_found3238 is expected to respond with numeric status code not_found3239 GET #index3240 license: true, status: :ok3241 is expected to respond with numeric status code ok3242 license: false, status: :not_found3243 is expected to respond with numeric status code not_found3244 GET #schema3245 returns JSON schema3246API::Ci::Triggers3247 POST /projects/:project_id/trigger/pipeline3248 when triggering a pipeline from a job token3249 without user3250 does not leak the presence of project when using valid token3251 for unreleated user3252 does not leak the presence of project when using valid token3253 for related user3254 with reporter permissions3255 forbids to create a pipeline3256 with developer permissions3257 creates a new pipeline3258 when project is not in the job token scope3259 forbids to create a pipeline3260 when build is complete3261 does not create a pipeline3262 when variables are defined3263 creates a new pipeline with a variable3264Update an external audit event destination header3265 when feature is licensed3266 when current user is a group owner3267 updates the header with the correct attributes3268 when the header attributes are invalid3269 returns correct errors3270 returns the unmutated attribute values3271 behaves like a mutation that does not update a header3272 does not update a header key3273 does not update a header value3274 when current user is a group maintainer3275 behaves like a mutation that does not update a header3276 does not update a header key3277 does not update a header value3278 when current user is a group developer3279 behaves like a mutation that does not update a header3280 does not update a header key3281 does not update a header value3282 when current user is a group guest3283 behaves like a mutation that does not update a header3284 does not update a header key3285 does not update a header value3286 when feature is unlicensed3287 behaves like a mutation on an unauthorized resource3288 behaves like a mutation that returns top-level errors3289 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"3290 behaves like a mutation that does not update a header3291 does not update a header key3292 does not update a header value3293Repositories::GitHttpController3294 POST #git_upload_pack3295 geo pulls a personal snippet3296 allows access3297 does not allow access if scope is wrong3298 GET #info_refs3299 smartcard session required3300 user with a smartcard session3301 allows access3302 user without a smartcard session3303 does not allow access3304 with the setting off3305 allows access3306 POST #git_receive_pack3307 when node is a primary Geo one3308 with projects3309 behaves like triggers Geo3310 executes ::Gitlab::Geo::GitPushHttp3311 returns 2003312 with a project wiki3313 behaves like triggers Geo3314 executes ::Gitlab::Geo::GitPushHttp3315 returns 2003316 with a group wiki3317 behaves like triggers Geo3318 executes ::Gitlab::Geo::GitPushHttp3319 returns 2003320 with a personal snippet3321 behaves like triggers Geo3322 executes ::Gitlab::Geo::GitPushHttp3323 returns 2003324 with a project snippet3325 behaves like triggers Geo3326 executes ::Gitlab::Geo::GitPushHttp3327 returns 2003328TrialRegistrationsController3329 POST create3330 when email_opted_in does not exist in params3331 sets user email_opted_in to false3332 when email_opted_in is true in params3333 sets user email_opted_in to true3334 with snowplow tracking3335 when the password is weak3336 does not track failed form submission3337 when the password is not weak3338 tracks successful form submission3339 with email confirmation3340 when email confirmation settings is set to `soft`3341 does not track an almost there redirect3342 when email confirmation settings is not set to `soft`3343 tracks an almost there redirect3344 behaves like creates a user with ArkoseLabs risk band on signup request3345 when arkose_labs_token verification succeeds3346 records the user's data from Arkose Labs3347 behaves like creates the user3348 creates the user3349 when verification fails3350 does not record the user's data from Arkose Labs3351 behaves like renders new action with an alert flash3352 renders new action with an alert flash3353 when user is not persisted3354 does not record the user's data from Arkose Labs3355 when feature is disabled3356 behaves like creates the user3357 creates the user3358 behaves like skips verification and data recording3359 skips verification and data recording3360 when reCAPTCHA is enabled3361 behaves like creates the user3362 creates the user3363 when reCAPTCHA verification fails3364 does not create the user3365 when arkose_labs_token param is not present3366 behaves like renders new action with an alert flash3367 renders new action with an alert flash3368 behaves like skips verification and data recording3369 skips verification and data recording3370 when request is for QA3371 behaves like skips verification and data recording3372 skips verification and data recording3373 behaves like creates the user3374 creates the user3375Updating an Iteration3376 when the user does not have permission3377 does not update iteration3378 behaves like a mutation that returns a top-level access error3379 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"3380 when the user has permission3381 when iterations are disabled3382 behaves like a mutation that returns top-level errors3383 is expected to include "The resource that you are attempting to access does not exist or you don't have permission to perform this action"3384 when iterations are enabled3385 updates the iteration3386 when updating attributes on an automatic cadence3387 when updating deprecated attributes3388 argument: :title, argument_value: "updated title"3389 behaves like a mutation that returns top-level errors3390 is expected to contain exactly "Manual iteration updates are deprecated, only `description` updates will be allowed in the future"3391 argument: :start_date, argument_value: "2023-04-19"3392 behaves like a mutation that returns top-level errors3393 is expected to contain exactly "Manual iteration updates are deprecated, only `description` updates will be allowed in the future"3394 argument: :due_date, argument_value: "2023-05-03"3395 behaves like a mutation that returns top-level errors3396 is expected to contain exactly "Manual iteration updates are deprecated, only `description` updates will be allowed in the future"3397 when updating description3398 allows updating the description of an iteration3399 when updating title3400 title_before: nil, title_after: "abc", expected_title: "abc"3401 updates an iteration3402 title_before: "abc", title_after: "def", expected_title: "def"3403 updates an iteration3404 when updating dates3405 updates the iteration with date in the past3406 when another iteration with given dates overlap3407 behaves like a mutation that returns errors in the response3408 is expected to contain exactly "Dates cannot overlap with other existing Iterations within this iterations cadence"3409 when given a raw model id (backward compatibility)3410 updates the iteration3411 when the list of attributes is empty3412 does not update the iteration3413 behaves like a mutation that returns top-level errors3414 is expected to contain exactly "The list of iteration attributes is empty"3415Oauth::GeoAuthController3416 GET auth3417 redirects to root_url when state is invalid3418 without a tampered header3419 behaves like a valid redirect to to primary node's oauth endpoint3420 redirects to primary node's oauth endpoint3421 with a tampered HOST header3422 behaves like a valid redirect to to primary node's oauth endpoint3423 redirects to primary node's oauth endpoint3424 with a tampered X-Forwarded-Host header3425 behaves like a valid redirect to to primary node's oauth endpoint3426 redirects to primary node's oauth endpoint3427 GET callback3428 redirection3429 redirects to login screen if state is invalid3430 with a valid state3431 does not display a flash message3432 without a tampered header3433 behaves like a valid redirect to redirect_url3434 redirects to primary node's oauth endpoint3435 with a tampered HOST header3436 behaves like a valid redirect to redirect_url3437 redirects to primary node's oauth endpoint3438 with a tampered X-Forwarded-Host header3439 behaves like a valid redirect to redirect_url3440 redirects to primary node's oauth endpoint3441 invalid credentials3442 handles invalid credentials error3443 non-existent remote user3444 handles non-existent remote user error3445 non-existent local user3446 handles non-existent local user error3447 GET logout3448 when access_token is valid3449 logs out and redirects to the root_url3450 when access_token is invalid3451 shows access token errors3452Projects::ApproverGroupsController3453 #destroy3454 on a merge request3455 when the user cannot update approvers because they do not have access3456 returns a 4043457 does not destroy any approver groups3458 when the user cannot update approvers because of the project setting3459 returns a 4043460 does not destroy any approver groups3461 when the user can update approvers3462 destroys the provided approver group3463 on a project3464 when the user cannot update approvers because they do not have access3465 returns a 4043466 does not destroy any approver groups3467 when the user can update approvers3468 destroys the provided approver3469Destroy an external audit event destination3470 when feature is licensed3471 when current user is a group owner but destination belongs to another group3472 behaves like a mutation on an unauthorized resource3473 behaves like a mutation that returns top-level errors3474 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"3475 behaves like a mutation that does not destroy a destination3476 does not destroy the destination3477 does not audit the destruction3478 when current user is a group owner of a different group3479 behaves like a mutation on an unauthorized resource3480 behaves like a mutation that returns top-level errors3481 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"3482 behaves like a mutation that does not destroy a destination3483 does not destroy the destination3484 does not audit the destruction3485 when current user is a group owner3486 destroys the destination3487 audits the destruction3488 when current user is a group maintainer3489 behaves like a mutation that does not destroy a destination3490 does not destroy the destination3491 does not audit the destruction3492 when current user is a group developer3493 behaves like a mutation that does not destroy a destination3494 does not destroy the destination3495 does not audit the destruction3496 when current user is a group guest3497 behaves like a mutation that does not destroy a destination3498 does not destroy the destination3499 does not audit the destruction3500 when feature is unlicensed3501 behaves like a mutation on an unauthorized resource3502 behaves like a mutation that returns top-level errors3503 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"3504 behaves like a mutation that does not destroy a destination3505 does not destroy the destination3506 does not audit the destruction3507API::DependencyListExports3508 # order random3509 GET /projects/:id/dependency_list_exports/:export_id3510 with user without permission3511 returns 4033512 with user with enough permission3513 with license feature disabled3514 returns 4033515 with license feature enabled3516 fetches and returns a dependency_list_export3517 with dependency list export not finished3518 sets polling and returns accepted3519 POST /projects/:id/dependency_list_exports3520 with user without permission3521 returns 4033522 with user with enough permission3523 with license feature disabled3524 returns 4033525 with license feature enabled3526 creates and returns a dependency_list_export3527 GET /projects/:id/dependency_list_exports/:export_id/download3528 with user without permission3529 returns 4033530 with user with enough permission3531 with license feature disabled3532 returns 4033533 with license feature enabled3534 returns file content3535 with dependency list export not finished3536 returns 4043537API::Ci::Runner3538 /api/v4/jobs3539 POST /api/v4/jobs/request3540 secrets management3541 when secrets management feature is available3542 when job has secrets configured3543 when runner does not support secrets3544 sets "runner_unsupported" failure reason and does not expose the build at all3545 when runner supports secrets3546 returns secrets configuration3547 job does not have secrets configured3548 doesn not return secrets configuration3549 when secrets management feature is not available3550 job has secrets configured3551 does not return secrets configuration3552 GET api/v4/jobs/:id/artifacts3553 when a job has a cross-project dependency3554 when the job is created by a user with sufficient permission in upstream project3555 behaves like successful artifact download3556 downloads artifacts3557 and the upstream project has disabled public builds3558 behaves like successful artifact download3559 downloads artifacts3560 when the job is created by a user without sufficient permission in upstream project3561 behaves like forbidden request3562 responds with forbidden3563 and the upstream project has disabled public builds3564 behaves like forbidden request3565 responds with forbidden3566 when the upstream project is public and the job user does not have permission in the project3567 behaves like successful artifact download3568 downloads artifacts3569 and the upstream project has disabled public builds3570 behaves like forbidden request3571 responds with forbidden3572API::Iterations3573 GET /groups/:id/iterations3574 excludes ancestor iterations when include_ancestors is set to false3575 behaves like iterations list3576 when user does not have access3577 returns 4043578 when user has access3579 returns a list of iterations3580 returns iterations filtered by title3581 returns 400 when param is invalid3582 filter by iteration state3583 returns `closed` state iterations3584 returns `current` state iterations3585 returns `current` state iterations3586 filter by updated_at3587 returns iterations filtered only by updated_before3588 returns iterations filtered only by updated_after3589 returns iterations filtered by updated_after and updated_before3590 GET /projects/:id/iterations3591 return direct parent group iterations when include_ancestors is set to false3592 behaves like iterations list3593 when user does not have access3594 returns 4043595 when user has access3596 returns a list of iterations3597 returns iterations filtered by title3598 returns 400 when param is invalid3599 filter by iteration state3600 returns `closed` state iterations3601 returns `current` state iterations3602 returns `current` state iterations3603 filter by updated_at3604 returns iterations filtered only by updated_before3605 returns iterations filtered only by updated_after3606 returns iterations filtered by updated_after and updated_before3607Unassigns scan execution policy project from a project/namespace3608 for project3609 behaves like unassigns security policy project3610 when licensed feature is available3611 when user is an owner of the container3612 when there is no security policy project assigned to the container3613 does not unassign the security policy project3614 when security policy project is assigned to the container3615 unassigns the security policy project3616 when user is not an owner3617 behaves like a mutation that returns top-level errors3618 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"3619 when feature is not licensed3620 behaves like a mutation that returns top-level errors3621 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"3622 for namespace3623 behaves like unassigns security policy project3624 when licensed feature is available3625 when user is an owner of the container3626 when there is no security policy project assigned to the container3627 does not unassign the security policy project3628 when security policy project is assigned to the container3629 unassigns the security policy project3630 when user is not an owner3631 behaves like a mutation that returns top-level errors3632 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"3633 when feature is not licensed3634 behaves like a mutation that returns top-level errors3635 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"3636API::RemoteMirrors3637 # order random3638 PUT /projects/:id/remote_mirrors/:mirror_id3639 when enabling only_protected_branches3640 removes mirror_branch_regex3641 when disabling only_protected_branches3642 with only_protected_branches enabled3643 disables protected branches mirroring3644 with only_protected_branches disabled3645 does not remove mirror_branch_regex3646 when setting mirror_branch_regex3647 disables protected branches mirroring3648 when removing mirror_branch_regex3649 succeeds3650 when feature flag is disabled3651 removes mirror_branch_regex3652 POST /projects/:id/remote_mirrors3653 when creating a remote mirror3654 with only_protected_branches and mirror_branch_regex3655 returns 400 error3656 with mirror_branch_regex3657 succeeds3658 when feature flag is disabled3659 succeeds3660Updating a Requirement3661 when the user does not have permission3662 behaves like requirement update fails3663 does not update requirement3664 behaves like a mutation that returns a top-level access error3665 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"3666 when the user has permission3667 when requirements are disabled3668 behaves like requirement update fails3669 does not update requirement3670 behaves like a mutation that returns a top-level access error3671 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"3672 when requirements are enabled3673 when identifying requirement by legacy iid3674 updates the requirement3675 when identifying requirement by work item iid3676 updates the requirement3677 when there are ActiveRecord validation errors3678 does not update the requirement3679 behaves like a mutation that returns errors in the response3680 is expected to contain exactly "Title can't be blank"3681 when there are no update params3682 behaves like a mutation that returns top-level errors3683 is expected to contain exactly "At least one of title, state, last_test_report_state, description is required"3684 when neither iid nor work_item_iid are given3685 behaves like a mutation that returns top-level errors3686 is expected to contain exactly "One and only one of iid or workItemIid is required"3687 when there are no update params nor iid params3688 behaves like a mutation that returns top-level errors3689 is expected to contain exactly /one of iid or workItemIid is required; At least one of title/3690 when both iid and work_item_iid are given3691 behaves like a mutation that returns top-level errors3692 is expected to contain exactly "One and only one of iid or workItemIid is required"3693Running a DAST Scan3694 behaves like an on-demand scan mutation when user cannot run an on-demand scan3695 when a user does not have access to the project3696 behaves like a mutation that returns a top-level access error3697 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"3698 when a user does not have access to run a dast scan on the project3699 behaves like a mutation that returns a top-level access error3700 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"3701 behaves like an on-demand scan mutation when user can run an on-demand scan3702 returns an empty errors array3703 returns a pipeline_url containing the correct path3704 when on demand scan licensed feature is not available3705 behaves like a mutation that returns a top-level access error3706 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"3707 when dast_scanner_profile_id is provided3708 returns an empty errors array3709 when wrong type of global id is passed3710 behaves like a mutation that returns top-level errors3711 is expected to eq ["Variable $dastOnDemandScanCreateInput of type DastOnDemandScanCreateInput! was provided invalid val...rofileId (\"gid://gitlab/DastSiteProfile/1\" does not represent an instance of DastScannerProfile)"]3712 when pipeline creation fails3713 behaves like a mutation that returns errors in the response3714 is expected to contain exactly "full error messages"3715API::Analytics::ProjectDeploymentFrequency3716 when user has access to the project3717 returns `ok`3718 with params: from 2017 to 20193719 returns `bad_request` with expected message3720 with params: from 2019 to 20173721 returns `bad_request` with expected message3722 with params: from 2020/04/02 to request time3723 returns the expected deployment frequencies3724 with params: from 2020/02/01 to 2020/04/01 by all3725 returns the expected deployment frequencies3726 with params: from 2020/02/01 to 2020/04/01 by month3727 returns the expected deployment frequencies3728 with params: from 2020/02/01 to 2020/04/01 by day3729 returns the expected deployment frequencies3730 with params: invalid interval3731 returns `bad_request`3732 with params: missing from3733 returns `bad_request`3734 when user does not have access to the project3735 returns `not_found`3736 when feature is not available in plan3737 when user has access to the project3738 returns `forbidden`3739 when user does not have access to the project3740 returns `not_found`3741API::Internal::AppSec::Dast::SiteValidations3742 POST /internal/dast/site_validations/:id/transition3743 when a job token header is not set3744 returns 4013745 when user token is set3746 returns 400 and a contextual error message3747 when a job token header is set3748 when user does not have access to the site validation3749 returns 4033750 when site validation does not exist3751 returns 4043752 when site validation and job are associated with different projects3753 returns 4003754 when the job project belongs to the same job token scope3755 returns 400 and a contextual error message3756 when site validation exists3757 when the licensed feature is not available3758 returns 4033759 when user has access to the site validation3760 when the state transition is unknown3761 returns 400 and a contextual error message3762 when the state transition is invalid3763 returns 400 and a contextual error message3764 when the state transition is valid3765 updates the record3766 behaves like it transitions3767 returns 200 and the new state3768 calls the underlying transition method: #start3769 behaves like it transitions3770 returns 200 and the new state3771 calls the underlying transition method: #fail_op3772 behaves like it transitions3773 returns 200 and the new state3774 calls the underlying transition method: #retry3775 behaves like it transitions3776 returns 200 and the new state3777 calls the underlying transition method: #pass3778Dashboard::ProjectsController3779 #removed3780 when licensed3781 for admin users3782 returns success3783 paginates the records3784 returns projects marked for deletion3785 for non-admin users3786 returns success3787 paginates the records3788 for should_check_namespace_plan3789 should_check_namespace_plan: false, removed_projects_count: 33790 accounts total removable projects3791 should_check_namespace_plan: true, removed_projects_count: 23792 accounts total removable projects3793 when not licensed3794 behaves like returns not found3795 is expected to respond with numeric status code not_found3796Projects::VariablesController3797 PATCH #update3798 when creating variable3799 logs audit event3800 logs variable creation3801 when updating variable protection3802 logs audit event3803 logs variable protection update3804 when destroying variable3805 logs audit event3806 logs variable destruction3807Query.group(fullPath).projects3808 # order random3809 when compliance framework not id filter is passed3810 returns project where id is not passed id3811 when both compliance framework id and not id filter are passed3812 when id and not id are same3813 returns no project3814 when id and not id are different3815 returns project with correct id3816 when compliance framework presence filter is passed as NONE3817 returns project without any framework3818 when compliance framework id filter is passed3819 returns project matching id3820 when compliance framework presence filter is passed as ANY3821 returns projects with any framework attached3822getting compliance frameworks for a collection of projects3823 querying a single project3824 avoids N+1 queries3825 contains the expected compliance framework3826 projects can have a compliance framework3827 contains the correct number of compliance frameworks3828 projects that share the same compliance framework3829 shares the same compliance framework id3830Projects::Ci::Catalog::ResourcesController3831 # order random3832 GET #show3833 behaves like basic get requests3834 with disabled FF `ci_private_catalog_beta`3835 responds with 4043836 with license for `ci_namespace_catalog`3837 with enough privileges3838 responds with 2003839 without enough privileges3840 responds with 4043841 without license for `ci_namespace_catalog`3842 with enough privileges3843 responds with 4043844 without enough privileges3845 responds with 4043846 GET #index3847 behaves like basic get requests3848 with disabled FF `ci_private_catalog_beta`3849 responds with 4043850 with license for `ci_namespace_catalog`3851 with enough privileges3852 responds with 2003853 without enough privileges3854 responds with 4043855 without license for `ci_namespace_catalog`3856 with enough privileges3857 responds with 4043858 without enough privileges3859 responds with 4043860getting Incident Management on-call schedules3861 # order random3862 without project permissions3863 is expected to be nil3864 behaves like a working graphql query3865 returns a successful response3866 with project permissions3867 with unavailable feature3868 is expected to be empty3869 behaves like a working graphql query3870 returns a successful response3871 without on-call schedules3872 is expected to be empty3873 behaves like a working graphql query3874 returns a successful response3875 with on-call schedules3876 returns the correct properties of the on-call schedule3877 behaves like a working graphql query3878 returns a successful response3879 with an array of iids given3880 is expected to eq 13881 is expected to eq "1"3882 behaves like a working graphql query3883 returns a successful response3884Set project compliance framework3885 # order random3886 #resolve3887 when product analytics is enabled3888 when user is a project maintainer3889 enqueues the InitializeAnalyticsWorker3890 behaves like a working GraphQL mutation3891 with a personal access token3892 behaves like prevents access to the mutation3893 does not resolve the mutation3894 behaves like allows access to the mutation3895 behaves like a working graphql query3896 returns a successful response3897 returns data3898 with an OAuth token3899 behaves like prevents access to the mutation3900 does not resolve the mutation3901 behaves like allows access to the mutation3902 behaves like a working graphql query3903 returns a successful response3904 returns data3905 when an initialization is already in progress3906 behaves like a mutation that returns errors in the response3907 is expected to contain exactly "Product analytics initialization is already in progress"3908 when user is not a project member3909 behaves like a mutation that returns top-level errors3910 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"3911 when product analytics is disabled3912 behaves like a mutation that returns errors in the response3913 is expected to contain exactly "Product analytics is disabled"3914Query.vulnerabilities.issueLinks3915 when invalid linkType argument is provided3916 errors with a string3917 errors with a number3918 errors with lowercased `created`3919 errors with lowercased `related`3920 when valid linkType argument is provided3921 returns a list of VulnerabilityIssueLink with `CREATED` linkType3922 returns a list of VulnerabilityIssueLink with `RELATED` linkType3923 when no arguments are provided3924 returns a list of all VulnerabilityIssueLink3925 loading issue links in batch3926 does not cause N+1 query issue3927Projects::InsightsController3928 when insights configuration project cannot be read by current user3929 GET #show.html3930 behaves like 404 status3931 returns 404 status3932 GET #show.json3933 behaves like 404 status3934 returns 404 status3935 POST #query3936 behaves like 404 status3937 returns 404 status3938 when insights configuration project can be read by current user3939 GET #show.html3940 behaves like 200 status3941 returns 200 status3942 GET #show.json3943 behaves like 200 status3944 returns 200 status3945 POST #query.json3946 behaves like 200 status3947 returns 200 status3948 when using the legacy format3949 behaves like 200 status3950 returns 200 status3951 GET #show3952 behaves like tracking unique visits3953 tracks unique visit if the format is HTML3954 tracks unique visit if DNT is not enabled3955 does not track unique visit if DNT is enabled3956 does not track unique visit if the format is JSON3957 behaves like Snowplow event tracking with RedisHLL context3958 behaves like Snowplow event tracking3959 is emitted3960Updating an existing HTTP Integration3961 updates the custom mapping params3962 behaves like updating an existing HTTP integration3963 updates the integration3964 behaves like validating the payload_example3965 validates the payload_example size3966 with invalid payloadExample attribute3967 responds with errors3968 behaves like validating the payload_attribute_mappings3969 with invalid payloadAttributeMapping attribute does not contain fieldName3970 responds with errors3971 with invalid payloadAttributeMapping attribute does not contain path3972 responds with errors3973 with invalid payloadAttributeMapping attribute does not contain type3974 responds with errors3975 when the integration already has custom mapping params3976 when the custom mappings attributes are blank3977 resets the custom mapping params3978 when the custom mappings attributes are nils3979 resets the custom mapping params3980 when the custom mappings attributes are not part of the mutation variables3981 does not reset the custom mapping attributes3982 with the custom mappings feature unavailable3983 behaves like ignoring the custom mapping3984 updates integration without the custom mapping params3985Emails::Projects3986 #user_escalation_rule_deleted_email3987 has the correct email content3988 #incident_escalation_fired_email3989 has expected X-GitLab alert headers3990 has expected subject3991 has expected content3992 behaves like an email with X-GitLab headers containing project details3993 has X-GitLab-Project headers3994 behaves like an email sent from GitLab3995 has the characteristics of an email sent from GitLab3996 behaves like it should not have Gmail Actions links3997 is expected not to have body including "ViewAction"3998 behaves like a user cannot unsubscribe through footer link3999 does not have a List-Unsubscribe header or a body link4000 with description4001 has expected content4002 with escalation status policy4003 has expected content4004Creating a DAST Site Profile4005 behaves like an on-demand scan mutation when user cannot run an on-demand scan4006 when a user does not have access to the project4007 behaves like a mutation that returns a top-level access error4008 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"4009 when a user does not have access to run a dast scan on the project4010 behaves like a mutation that returns a top-level access error4011 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"4012 behaves like an on-demand scan mutation when user can run an on-demand scan4013 returns an empty errors array4014 updates the dast_site_profile4015 when on demand scan licensed feature is not available4016 behaves like a mutation that returns a top-level access error4017 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"4018 when there is a validation error4019 behaves like a mutation that returns errors in the response4020 is expected to contain exactly "There was a validation error"4021 when the dast_site_profile does not exist4022 behaves like a mutation that returns top-level errors4023 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"4024 when wrong type of global id is passed4025 behaves like a mutation that returns top-level errors4026 is expected to eq ["Variable $dastSiteProfileUpdateInput of type DastSiteProfileUpdateInput! was provided invalid value for id (\"gid://gitlab/Project/470\" does not represent an instance of DastSiteProfile)"]4027Projects::Security::ScannedResourcesController4028 GET #index4029 when the "Security and Compliance" feature is disabled4030 is expected to respond with numeric status code not_found4031 user has access to view vulnerabilities4032 when DAST security scan is found4033 returns a CSV representation of the scanned resources4034 when DAST licensed feature is unavailable4035 will return a 4044036 when security_dashboard licensed feature is not available4037 will return a 4044038 when DAST security scan is not found4039 will return a 4044040 when the pipeline id exists under another project4041 will return a 4044042 when the pipeline does not exist4043 will return a 4044044 user does not have access to view vulnerabilities4045 will return a 4044046Query current user groups4047 when permission_scope is CREATE_PROJECTS4048 behaves like a working graphql query4049 returns a successful response4050 when ip_restrictions feature is enabled4051 when check_namespace_plan setting is enabled4052 behaves like no N + 1 DB queries4053 avoids N+1 queries4054 when check_namespace_plan setting is disabled4055 behaves like no N + 1 DB queries4056 avoids N+1 queries4057Setting assignees of a merge request4058 adds the assignees to the merge request4059 with assignees already assigned4060 removes assignees not in the list4061 when passing append as true4062 does not remove users not in the list4063 performance4064 is scalable4065Projects::Quality::TestCasesController4066 GET4067 #index4068 behaves like test case action4069 with authorized user4070 when feature is available4071 renders the template4072 when feature is not available4073 returns 4044074 with unauthorized user4075 when feature is available4076 returns 4044077 with anonymous user4078 returns 3024079 #new4080 behaves like test case action4081 with authorized user4082 when feature is available4083 renders the template4084 when feature is not available4085 returns 4044086 with unauthorized user4087 when feature is available4088 returns 4044089 with anonymous user4090 returns 3024091 #show4092 behaves like test case action4093 with authorized user4094 when feature is available4095 renders the template4096 when feature is not available4097 returns 4044098 with unauthorized user4099 when feature is available4100 returns 4044101 with anonymous user4102 returns 3024103 when feature is enabled and user has access4104 assigns test case related variables4105 when test case is not found4106 returns 4044107Groups::RoadmapController4108 GET /groups/*namespace_id/-/roadmap4109 guest4110 renders without persisting layout4111 logged in4112 not specifying layout4113 renders without persisting layout4114 specifying invalid layout4115 renders without persisting layout4116 specifying layout4117 persists roadmap_layout if different than current layout4118Assigns scan execution policy project to a project/namespace4119 for project4120 behaves like assigns security policy project4121 when licensed feature is available4122 when user is an owner of the container4123 assigns the security policy project4124 when user is not an owner4125 behaves like a mutation that returns top-level errors4126 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"4127 when policy_project_id is invalid4128 behaves like a mutation that returns top-level errors4129 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"4130 when feature is not licensed4131 behaves like a mutation that returns top-level errors4132 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"4133 for namespace4134 behaves like assigns security policy project4135 when licensed feature is available4136 when user is an owner of the container4137 assigns the security policy project4138 when user is not an owner4139 behaves like a mutation that returns top-level errors4140 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"4141 when policy_project_id is invalid4142 behaves like a mutation that returns top-level errors4143 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"4144 when feature is not licensed4145 behaves like a mutation that returns top-level errors4146 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"4147Setting the epic of an issue4148 returns an error if the user is not allowed to update the issue4149 returns an error if issue can not be updated4150 promotes the issue to epic4151 when epic has to be in a different group4152 when user cannot create epic in new group4153 does not promote the issue to epic4154 when user can create epic in new group4155 promotes the issue to epic4156Projects::Security::DastProfilesController4157 GET #index4158 when the "Security and Compliance" feature is disabled4159 is expected to respond with numeric status code not_found4160 feature available4161 user authorized4162 can access page4163 user not authorized4164 sees a 404 error4165 feature not available4166 license doesnt't support the feature4167 sees a 404 error4168Destroy an epic board list4169 behaves like board lists destroy request4170 when the user does not have permission4171 does not destroy the list4172 returns an error4173 when the user has permission4174 when given id is not for a list4175 returns an error4176 when list does not exist4177 returns a top level error4178 when everything is ok4179 destroys the list4180 returns an empty list4181 when the list is not destroyable4182 behaves like does not destroy the list and returns an error4183 does not destroy the list4184 returns an error and not nil list4185Projects::Settings::CiCdController4186 as a maintainer4187 GET show4188 renders group protected environments4189 PATCH update4190 when updating general settings4191 when allow_pipeline_trigger_approve_deployment is specified4192 sets allow_pipeline_trigger_approve_deployment4193getting Alert Management Integrations4194 with integrations4195 without project permissions4196 is expected to be nil4197 behaves like a working graphql query4198 returns a successful response4199 with project permissions4200 is expected to eq 34201 returns the correct properties of the integrations4202 behaves like a working graphql query4203 returns a successful response4204Create a timelog4205 when issuable is an Epic4206 behaves like issuable does not support timelog creation mutation4207 when the user is anonymous4208 behaves like a mutation that returns a top-level access error4209 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"4210 when the user is a guest member of the namespace4211 behaves like a mutation that returns top-level errors4212 is expected to contain exactly (include "is not a valid ID for")4213 when user has permissions to create a timelog4214 behaves like a mutation that returns top-level errors4215 is expected to contain exactly (include "is not a valid ID for")4216Updating an iteration cadence4217 when the user does not have permission4218 does not update the iteration cadence4219 behaves like a mutation that returns a top-level access error4220 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"4221 when the user has permission4222 when iterations feature is disabled4223 behaves like a mutation that returns top-level errors4224 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"4225 when iterations feature is enabled4226 updates the iteration cadence4227 when there are ActiveRecord validation errors4228 does not update the iteration cadence4229 behaves like a mutation that returns errors in the response4230 is expected to contain exactly "Title can't be blank"4231 when required arguments are missing4232 returns error about required argument4233Delete a DAST Scanner Profile4234 behaves like an on-demand scan mutation when user cannot run an on-demand scan4235 when a user does not have access to the project4236 behaves like a mutation that returns a top-level access error4237 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"4238 when a user does not have access to run a dast scan on the project4239 behaves like a mutation that returns a top-level access error4240 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"4241 behaves like an on-demand scan mutation when user can run an on-demand scan4242 returns an empty errors array4243 deletes the dast_scanner_profile4244 when on demand scan licensed feature is not available4245 behaves like a mutation that returns a top-level access error4246 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"4247 when the dast_scanner_profile does not exist4248 behaves like a mutation that returns top-level errors4249 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"4250NamespaceCiCdSettingsUpdate4251 when unauthorized4252 when not a namespace member4253 behaves like unauthorized4254 returns an error4255 when a non-admin namespace member4256 behaves like unauthorized4257 returns an error4258 when authorized4259 updates allow_stale_runner_pruning?4260 does not update allow_stale_runner_pruning? if not specified4261 when bad arguments are provided4262 returns the errors4263Admin::EmailsController4264 GET #show4265 admin user4266 when `send_emails_from_admin_area` feature is enabled4267 responds with 2004268 when `send_emails_from_admin_area` feature is disabled4269 returns 4044270 when usage ping is enabled4271 responds 404 when feature is not activated4272 responds with 200 when feature is activated4273 non-admin user4274 returns 4044275 POST #create4276 admin user4277 when `send_emails_from_admin_area` feature is enabled4278 when emails from admin area are not rate limited4279 triggers the service to send emails4280 redirects to `admin_email_path` with success notice4281 when emails from admin area are rate limited4282 does not trigger the service to send emails4283 redirects to `admin_email_path`4284 when `send_emails_from_admin_area` feature is disabled4285 does not trigger the service to send emails4286 returns 4044287 when usage ping is enabled4288 when feature is activated4289 triggers the service to send emails4290 redirects to `admin_email_path` with success notice4291 when feature is deactivated4292 does not trigger the service to send emails4293 returns 4044294 non-admin user4295 returns 4044296Destroying an iteration cadence4297 when the user does not have permission4298 behaves like a mutation that returns a top-level access error4299 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"4300 when the user has permission4301 when iterations feature is disabled4302 behaves like a mutation that returns top-level errors4303 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"4304 when iterations feature is enabled4305 destroys the iteration cadence4306 when required arguments are missing4307 returns error about required argument4308Deleting an iteration4309 when the user does not have permission4310 behaves like a mutation that returns a top-level access error4311 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"4312 when the user has permission4313 when iterations feature is disabled4314 behaves like a mutation that returns top-level errors4315 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"4316 when iterations feature is enabled4317 when iteration belongs to a manual cadence4318 deletes the iteration4319 when iteration belongs to an automatic cadence4320 behaves like a mutation that returns top-level errors4321 is expected to contain exactly "Deleting iterations from automatic iteration cadences is not allowed."4322 when required arguments are missing4323 returns error about required argument4324get list of epic boards4325 when the user does not have access to the epic board group4326 returns nil group4327 when user can access the epic board group4328 sorting and pagination4329 behaves like sorted paginated query4330 behaves like requires variables4331 shared example requires variables to be set4333 when sorting4334 sorts correctly4335 when paginating4336 paginates correctly4337 field values4338 returns the correct values for hiding board lists4339Deleting a DAST Profile4340 behaves like an on-demand scan mutation when user cannot run an on-demand scan4341 when a user does not have access to the project4342 behaves like a mutation that returns a top-level access error4343 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"4344 when a user does not have access to run a dast scan on the project4345 behaves like a mutation that returns a top-level access error4346 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"4347 behaves like an on-demand scan mutation when user can run an on-demand scan4348 returns an empty errors array4349 deletes the dast_profile4350 when on demand scan licensed feature is not available4351 behaves like a mutation that returns a top-level access error4352 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"4353Registrations::VerificationController4354 # order random4355 GET #new4356 with an unauthenticated user4357 is expected to respond with numeric status code redirect4358 is expected to redirect to "/users/sign_in"4359 with an authenticated user4360 when on .com4361 is expected to respond with numeric status code ok4362 is expected to render template layouts/minimal4363 is expected to render template new4364 publishes the experiment4365 with project_id in params4366 assigns to learn_gitlab onboarding4367 when project_id is blank4368 assigns to root_path4369 without project_id in params4370 assigns to root_path4371 when not on .com4372 is expected to respond with numeric status code not_found4373Projects::Security::ScannedResourcesController4374 GET index4375 when the "Security and Compliance" feature is disabled4376 is expected to respond with numeric status code not_found4377 when DAST security scan is found4378 returns the CSV data4379 when pipeline_id is from a dangling pipeline4380 returns the CSV data4381 when the pipeline id is missing4382 raises an error when pipeline_id param is missing4383getting requirement counts for a project4384 when user has access to the project4385 returns requirement counts4386 behaves like a working graphql query4387 returns a successful response4388 when the user does not have access to the requirement4389 returns nil4390 when requirements feature is not available4391 behaves like nil requirement counts4392 returns nil4393 when there are no requirements in the project4394 returns zero values for missing states4395Projects::IncidentManagement::OncallSchedulesController4396 # order random4397 GET #index4398 with read permissions4399 renders index with 200 status code4400 with admin permissions4401 renders index with 200 status code4402 unauthorized4403 responds with 4044404 with unavailable feature4405 responds with 4044406getting Incident Management escalation policies4407 # order random4408 avoids N+1 queries4409 includes expected data4410 with multiple rules4411 orders rules by time and status4412Project creation via Registrations::GroupsProjectsController4413 # order random4414 POST #create4415 with an authenticated user4416 when group and project can be created4417 creates a group4418 when group already exists and project can be created4419 creates a project4420EE::Emails::MergeRequests4421 #add_merge_request_approver_email4422 when email_author_in_body is set4423 has the correct body with the name of the person who added the approver4424 when email_author_in_body is not set4425 has the correct body without the name of the person who added the approver4426creating escalation policy4427 # order random4428 successfully creates the policy and rules4429 when rules are provided out of order4430 successfully creates the policy and reorders the rules4431 errors4432 user does not have permission4433 raises an error4434 no rules given4435 raises an error4436Admin::ElasticsearchController4437 POST #enqueue_index4438 starts indexing4439 without an index4440 does nothing and returns 4044441 POST #trigger_reindexing4442 creates a reindexing task4443 does not create a reindexing task if there is another one4444 does not create a reindexing task if a required param is nil4445 POST #cancel_index_deletion4446 sets delete_original_index_at to nil4447 POST #retry_migration4448 deletes the migration record and drops the halted cache4449Create a milestone or assignee board list4450 the user is not allowed to read board lists4451 behaves like a mutation that returns a top-level access error4452 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"4453 when user has permissions to admin board lists4454 milestone list4455 creates the list4456 assignee list4457 creates the list4458RootController4459 GET #index4460 when user is not logged in4461 on a Geo primary node4462 redirects to the sign-in page4463 when a custom home page URL is defined4464 redirects the user to the custom home page URL4465 on a Geo secondary node4466 redirects to the sign-in page4467 when a custom home page URL is defined4468 redirects to the sign-in page4469 with a user4470 who has customized their dashboard setting for operations4471 when licensed4472 redirects to operations dashboard4473 when unlicensed4474 renders the default dashboard4475Projects::DeployTokensController4476 PUT /:project_path_with_namespace/-/deploy_tokens/:id/revoke4477 creates an audit event4478 behaves like sends correct event type in audit event stream4479 sends correct event type in audit event stream4480Groups::LdapsController4481 POST #sync4482 transitions to the pending state4483 notifies user that the group is already pending4484 returns an error if the group does not validate4485API::Ldap4486 GET /ldap/groups4487 when unauthenticated4488 returns authentication error4489 when authenticated as user4490 returns authentication error4491 when group owners are allowed to manage LDAP4492 returns an array of ldap groups4493 when authenticated as admin4494 returns an array of ldap groups4495 GET /ldap/ldapmain/groups4496 when unauthenticated4497 returns authentication error4498 when authenticated as user4499 returns authentication error4500 when group owners are allowed to manage LDAP4501 returns an array of ldap groups4502 when authenticated as admin4503 returns an array of ldap groups4504Projects::AutomationsController4505 # order random4506 GET /:namespace/:project/-/automations4507 returns 200 response4508 when the feature flag is disabled4509 behaves like returns not found4510 returns 404 response4511 when the feature is unlicensed4512 behaves like returns not found4513 returns 404 response4514 when the feature is unlicensed AND the feature flag is disabled4515 behaves like returns not found4516 returns 404 response4517API::Submodules4518 PUT /projects/:id/repository/submodule/:submodule4519 with an exceeded namespace storage limit4520 rejects the request4521Update board epic user preferences4522 returns an error if user can not access the board4523 when user can access the board4524 returns an error if user can not access the epic4525 when user can access the epic4526 updates user preferences4527Hand Raise Leads4528 # order random4529 POST /-/subscriptions/hand_raise_leads4530 when authenticated4531 is expected to respond with numeric status code ok4532 calls the hand raise lead service with correct parameters4533 when not on gitlab.com4534 is expected to respond with numeric status code not_found4535 when namespace cannot be found4536 is expected to respond with numeric status code not_found4537 with failure4538 is expected to respond with numeric status code forbidden4539 when not authenticated4540 is expected to respond with numeric status code not_found4541Emails::InProductMarketing4542 #account_validation_email4543 sends to the right user with a link to unsubscribe4544 has the correct subject and content4545Activate a subscription4546 persists license key4547 when there are future subscriptions4548 persists license key and stores future subscriptions4549API::NpmProjectPackages4550 # order random4551 GET /api/v4/projects/:id/packages/npm/*package_name/-/*file_name4552 behaves like applying ip restriction for group4553 in group without restriction4554 behaves like returning response status4555 returns ok4556 in group with restriction4557 with address within the range4558 behaves like returning response status4559 returns ok4560 with address outside the range4561 behaves like returning response status4562 returns not_found4563Projects::MirrorsController4564 updates the mirror URL4565 complains about passing an empty URL4566Query.project(fullPath).pathLocks4567 unlicensed feature4568 is expected to be empty4569 licensed feature4570 returns path locks4571API::Features4572 POST /feature4573 when running on a Geo primary node4574 creates Geo cache invalidation event4575 when licensed feature name is given4576 returns bad request4577 when force=1 is set4578 allows to change state4579 DELETE /feature/:name4580 when running on a Geo primary node4581 creates Geo cache invalidation event4582Projects::ImportsController4583 POST #create4584 mirror user is not the current user4585 only assigns the current user4586Groups::IterationCadencesController4587 behaves like accessing iteration cadences4588 index4589 role: :none, status: :not_found4590 behaves like returning response status4591 returns not_found4592 role: :guest, status: :success4593 behaves like returning response status4594 returns success4595 role: :developer, status: :success4596 behaves like returning response status4597 returns success4598Profiles::PreferencesController4599 PATCH update4600 when security dashboard feature enabled4601 and valid group view choice is submitted4602 changes the user's preferences4603 and an invalid group view choice is submitted4604 responds with an error message4605 when security dashboard feature is disabled4606 when security dashboard feature enabled4607 is expected not to change `user.reload.group_view_security_dashboard?`4608API::Integrations4609 GitLab for Slack app integration4610 returns status 2004611Emails::FreeUserCap4612 # order random4613 #over_free_user_limit_email4614 sends mail with expected contents4615Admin::ImpersonationTokensController4616 # order random4617 when impersonation is enabled4618 when personal access tokens are disabled4619 responds with a 4044620AuditEvents::AuditEventsParams4621 # order random4622 #filter_by_author4623 returns params when the user has permission to view all events4624 returns safe params with the current user id when the user lacks permission to view all events4625Knapsack report was generated. Preview:4626{4627 "ee/spec/requests/api/projects_spec.rb": 141.82060981799987,4628 "ee/spec/requests/api/scim/group_scim_spec.rb": 93.07338394600083,4629 "ee/spec/requests/api/namespaces_spec.rb": 60.675750203999996,4630 "ee/spec/requests/api/merge_request_approval_rules_spec.rb": 62.730420047000734,4631 "ee/spec/controllers/projects/issues_controller_spec.rb": 55.25815441599934,4632 "ee/spec/controllers/projects/licenses_controller_spec.rb": 40.34354001199972,4633 "ee/spec/requests/api/group_push_rule_spec.rb": 30.551670456000465,4634 "ee/spec/requests/api/project_aliases_spec.rb": 31.15925059700021,4635 "ee/spec/requests/users/identity_verification_controller_spec.rb": 11.585876153000754,4636 "ee/spec/requests/api/graphql/group_query_spec.rb": 20.535738761000175,4637 "ee/spec/requests/api/status_checks_spec.rb": 16.579443511000136,4638 "ee/spec/requests/api/epic_links_spec.rb": 14.622441786999843,4639 "ee/spec/requests/api/managed_licenses_spec.rb": 16.198736791000556,4640 "ee/spec/requests/api/graphql/mutations/work_items/update_spec.rb": 14.260006288000113,4641 "ee/spec/controllers/projects/merge_requests/creations_controller_spec.rb": 19.376645410000492,4642 "ee/spec/controllers/projects/settings/merge_requests_controller_spec.rb": 11.408507802000713,4643 "ee/spec/requests/api/admin/search/zoekt_spec.rb": 12.024659331999828,4644 "ee/spec/controllers/projects/pipelines_controller_spec.rb": 12.501486171000579,4645 "ee/spec/requests/api/graphql/project/work_items_spec.rb": 12.725667203999365,4646 "ee/spec/requests/projects/issues_controller_spec.rb": 13.708880795999903,4647 "ee/spec/requests/api/saml_group_links_spec.rb": 9.362193493999257,4648 "ee/spec/requests/groups/analytics/cycle_analytics/value_streams_controller_spec.rb": 10.119829795000442,4649 "ee/spec/requests/api/graphql/project/issues_spec.rb": 10.330053650999616,4650 "ee/spec/requests/smartcard_controller_spec.rb": 6.18408285500027,4651 "ee/spec/requests/projects/security/policies_controller_spec.rb": 10.58610571600002,4652 "ee/spec/requests/api/ci/triggers_spec.rb": 11.768353385999944,4653 "ee/spec/requests/api/graphql/audit_events/streaming/headers/update_spec.rb": 5.15019617300004,4654 "ee/spec/requests/repositories/git_http_controller_spec.rb": 7.095034322000174,4655 "ee/spec/requests/trial_registrations_controller_spec.rb": 4.28823325599933,4656 "ee/spec/requests/api/graphql/mutations/iterations/update_spec.rb": 6.4865997110000535,4657 "ee/spec/controllers/oauth/geo_auth_controller_spec.rb": 7.872930849000113,4658 "ee/spec/controllers/projects/approver_groups_controller_spec.rb": 9.984805562000474,4659 "ee/spec/requests/api/graphql/mutations/audit_events/external_audit_event_destinations/destroy_spec.rb": 6.2973664810006085,4660 "ee/spec/requests/api/dependency_list_exports_spec.rb": 7.54364613800044,4661 "ee/spec/requests/api/ci/runner_spec.rb": 6.011589260999244,4662 "ee/spec/requests/api/iterations_spec.rb": 4.244604014000288,4663 "ee/spec/requests/api/graphql/mutations/security_policy/unassign_security_policy_project_spec.rb": 4.649334669000382,4664 "ee/spec/requests/api/remote_mirrors_spec.rb": 4.819520412999736,4665 "ee/spec/requests/api/graphql/mutations/requirements_management/update_requirement_spec.rb": 5.653506347000075,4666 "ee/spec/requests/api/graphql/mutations/dast_on_demand_scans/create_spec.rb": 4.925873400000455,4667 "ee/spec/requests/api/analytics/project_deployment_frequency_spec.rb": 4.350326742000107,4668 "ee/spec/requests/api/internal/app_sec/dast/site_validations_spec.rb": 4.1341834469994865,4669 "ee/spec/controllers/ee/dashboard/projects_controller_spec.rb": 5.855558054000539,4670 "ee/spec/controllers/ee/projects/variables_controller_spec.rb": 5.156452242000341,4671 "ee/spec/requests/api/graphql/project/compliance_framework_filters_spec.rb": 3.545936420999169,4672 "ee/spec/requests/api/graphql/projects/compliance_frameworks_spec.rb": 5.669697723000354,4673 "ee/spec/requests/projects/ci/catalog/resources_controller_spec.rb": 4.52361993500017,4674 "ee/spec/requests/api/graphql/project/incident_management/oncall_schedules_spec.rb": 5.474857403999522,4675 "ee/spec/requests/api/graphql/mutations/projects/initialize_product_analytics_spec.rb": 4.61579000599977,4676 "ee/spec/requests/api/graphql/vulnerabilities/issue_links_spec.rb": 5.333562503999929,4677 "ee/spec/controllers/projects/insights_controller_spec.rb": 3.743849759999648,4678 "ee/spec/requests/api/graphql/mutations/alert_management/http_integration/update_spec.rb": 4.154233723999823,4679 "ee/spec/mailers/ee/emails/projects_spec.rb": 4.817330004000723,4680 "ee/spec/requests/api/graphql/mutations/dast_site_profiles/update_spec.rb": 4.022790791999796,4681 "ee/spec/requests/projects/security/scanned_resources_controller_spec.rb": 5.373252605999369,4682 "ee/spec/requests/api/graphql/current_user/groups_query_spec.rb": 4.274000068000532,4683 "ee/spec/requests/api/graphql/mutations/merge_requests/set_assignees_spec.rb": 4.843672197999695,4684 "ee/spec/controllers/projects/quality/test_cases_controller_spec.rb": 3.7441654900003414,4685 "ee/spec/requests/groups/roadmap_controller_spec.rb": 3.8746280420000403,4686 "ee/spec/requests/api/graphql/mutations/security_policy/assign_security_policy_project_spec.rb": 3.211624921999828,4687 "ee/spec/requests/api/graphql/mutations/issues/promote_to_epic_spec.rb": 3.8025265670003137,4688 "ee/spec/requests/projects/security/dast_profiles_controller_spec.rb": 3.8216673239994634,4689 "ee/spec/requests/api/graphql/mutations/boards/epic_lists/destroy_spec.rb": 3.291157104999911,4690 "ee/spec/controllers/projects/settings/ci_cd_controller_spec.rb": 2.169185722000293,4691 "ee/spec/requests/api/graphql/project/alert_management/integrations_spec.rb": 2.8415968400004203,4692 "ee/spec/requests/api/graphql/mutations/timelogs/create_spec.rb": 1.9568279069999335,4693 "ee/spec/requests/api/graphql/mutations/iterations/cadences/update_spec.rb": 2.96814137399997,4694 "ee/spec/requests/api/graphql/mutations/dast_scanner_profiles/delete_spec.rb": 2.595382191999306,4695 "ee/spec/requests/api/graphql/mutations/ci/namespace_ci_cd_settings_update_spec.rb": 2.296157624999978,4696 "ee/spec/controllers/admin/emails_controller_spec.rb": 2.0904125990000466,4697 "ee/spec/requests/api/graphql/mutations/iterations/cadences/destroy_spec.rb": 2.0011814979998235,4698 "ee/spec/requests/api/graphql/mutations/iterations/delete_spec.rb": 2.4757988880000994,4699 "ee/spec/requests/api/graphql/boards/epic_boards_query_spec.rb": 2.2628961320006056,4700 "ee/spec/requests/api/graphql/mutations/dast/profiles/delete_spec.rb": 2.1817007899999226,4701 "ee/spec/controllers/registrations/verification_controller_spec.rb": 1.383085258000392,4702 "ee/spec/controllers/projects/security/scanned_resources_controller_spec.rb": 2.360626702000445,4703 "ee/spec/requests/api/graphql/project/requirements_management/requirement_counts_spec.rb": 2.4724825880002754,4704 "ee/spec/controllers/projects/incident_management/oncall_schedules_controller_spec.rb": 2.551956352000161,4705 "ee/spec/requests/api/graphql/project/incident_management/escalation_policy/rules_spec.rb": 2.3150369410004714,4706 "ee/spec/requests/registrations/project_creation_spec.rb": 2.8258340740003405,4707 "ee/spec/mailers/ee/emails/merge_requests_spec.rb": 1.9754683329992986,4708 "ee/spec/requests/api/graphql/mutations/incident_management/escalation_policy/create_spec.rb": 2.135687749999306,4709 "ee/spec/controllers/admin/elasticsearch_controller_spec.rb": 1.9978245180000158,4710 "ee/spec/requests/api/graphql/mutations/boards/lists/create_spec.rb": 2.258009733000108,4711 "ee/spec/controllers/ee/root_controller_spec.rb": 1.3698960110004919,4712 "ee/spec/requests/ee/projects/deploy_tokens_controller_spec.rb": 1.7144435879999946,4713 "ee/spec/controllers/groups/ldaps_controller_spec.rb": 1.9535537480005587,4714 "ee/spec/requests/api/ldap_spec.rb": 1.3303043289997731,4715 "ee/spec/requests/projects/automations_controller_spec.rb": 1.7995576800003619,4716 "ee/spec/requests/api/submodules_spec.rb": 2.1937458970005537,4717 "ee/spec/requests/api/graphql/mutations/boards/update_epic_user_preferences_spec.rb": 2.166139093000311,4718 "ee/spec/requests/subscriptions/hand_raise_leads_spec.rb": 1.3281682400001955,4719 "ee/spec/mailers/emails/in_product_marketing_spec.rb": 1.2449990269997215,4720 "ee/spec/requests/api/graphql/mutations/gitlab_subscriptions/activate_spec.rb": 1.559868190999623,4721 "ee/spec/requests/api/npm_project_packages_spec.rb": 1.6560673499998302,4722 "ee/spec/requests/projects/mirrors_controller_spec.rb": 1.7997890910000933,4723 "ee/spec/requests/api/graphql/project/path_locks_spec.rb": 1.4887090249994799,4724 "ee/spec/requests/api/features_spec.rb": 1.0445311700004822,4725 "ee/spec/controllers/projects/imports_controller_spec.rb": 1.3827285580000535,4726 "ee/spec/controllers/groups/iteration_cadences_controller_spec.rb": 1.030512902000737,4727 "ee/spec/controllers/ee/profiles/preferences_controller_spec.rb": 0.9574088179997489,4728 "ee/spec/requests/api/integrations_spec.rb": 0.6209748890005358,4729 "ee/spec/mailers/emails/free_user_cap_spec.rb": 0.5789156270002422,4730 "ee/spec/requests/admin/impersonation_tokens_controller_spec.rb": 0.8369814329998917,4731 "ee/spec/controllers/concerns/audit_events/audit_events_params_spec.rb": 0.70316524099962414732}4733Knapsack global time execution for tests: 16m 53s4734Finished in 16 minutes 58 seconds (files took 1 minute 25.7 seconds to load)47351675 examples, 0 failures4736Randomized with seed 128244737[TEST PROF INFO] Time spent in factories: 06:40.376 (38.0% of total time)4738RSpec exited with 0.4739No examples to retry, congrats!4741Not uploading cache ruby-gems-debian-bullseye-ruby-3.0-16 due to policy4743Uploading artifacts...4744coverage/: found 5 matching artifact files and directories 4745WARNING: crystalball/: no matching files. Ensure that the artifact path is relative to the working directory (/builds/gitlab-org/gitlab) 4746WARNING: deprecations/: no matching files. Ensure that the artifact path is relative to the working directory (/builds/gitlab-org/gitlab) 4747knapsack/: found 4 matching artifact files and directories 4748query_recorder/: found 2 matching artifact files and directories 4749rspec/: found 8 matching artifact files and directories 4750WARNING: tmp/capybara/: no matching files. Ensure that the artifact path is relative to the working directory (/builds/gitlab-org/gitlab) 4751log/*.log: found 17 matching artifact files and directories 4752WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/4181384280/artifacts?artifact_format=zip&artifact_type=archive&expire_in=31d new-url=https://gitlab.com4753WARNING: Retrying... context=artifacts-uploader error=request redirected4754Uploading artifacts as "archive" to coordinator... 201 Created id=4181384280 responseStatus=201 Created token=64_K7k1G4755Uploading artifacts...4756rspec/junit_rspec.xml: found 1 matching artifact files and directories 4757WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/4181384280/artifacts?artifact_format=gzip&artifact_type=junit&expire_in=31d new-url=https://gitlab.com4758WARNING: Retrying... context=artifacts-uploader error=request redirected4759Uploading artifacts as "junit" to coordinator... 201 Created id=4181384280 responseStatus=201 Created token=64_K7k1G4761Job succeeded