rspec-ee integration pg13 6/6
Passed Started
by
@ntepluhina

Natalia Tepluhina
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:73740c557807c4bc5d692f263c0e35454270600da4b22bbe952331411426c8b5 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:3174001f839c42e299ac06a42f8ded446edfcb33b0eb820874749a3f53eb799c ...11Starting service redis:6.2-alpine ...12Pulling docker image redis:6.2-alpine ...13Using docker image sha256:85fd7bd884b6493c8eb6f4dffbe5406d97cce56aff84f1580a5eb5b9d841f158 for redis:6.2-alpine with digest redis@sha256:87c44d5d9f472e767c8737f4130c765d77bdc95c7472d6427cfc9d4632f12da6 ...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:e2241823d5bdc5e6df7c49ebc7b24c52db10bbb41407a5256c7f2d24ff464f7f 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:f20112d766000374a74ca341735b93b35180b88d806027d821aa8800d0522906 ...28Running on runner-euhiqzpr-project-278964-concurrent-0 via runner-euhiqzpr-shared-gitlab-org-1684466716-91f24990...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: 144008, done. 35remote: Counting objects: 100% (144008/144008), done. 36remote: Compressing objects: 100% (102076/102076), done. 37remote: Total 144008 (delta 64387), reused 89305 (delta 36415), pack-reused 0 38Receiving objects: 100% (144008/144008), 126.62 MiB | 24.52 MiB/s, done.39Resolving deltas: 100% (64387/64387), done.41 * [new ref] refs/pipelines/872240128 -> refs/pipelines/87224012842Checking out 4e5a698c as detached HEAD (ref is refs/merge-requests/120843/merge)...43Skipping Git submodules setup44$ git remote set-url origin "${CI_REPOSITORY_URL}"46Checking cache for ruby-gems-debian-bullseye-ruby-3.0-16...47Downloading cache.zip from https://storage.googleapis.com/gitlab-com-runners-cache/project/278964/ruby-gems-debian-bullseye-ruby-3.0-16 48Successfully extracted cache50Downloading artifacts for compile-test-assets (4313143404)...51Downloading artifacts from coordinator... ok host=storage.googleapis.com id=4313143404 responseStatus=200 OK token=64_wr5j152Downloading artifacts for detect-tests (4313143415)...53Downloading artifacts from coordinator... ok host=storage.googleapis.com id=4313143415 responseStatus=200 OK token=64_wr5j154Downloading artifacts for retrieve-tests-metadata (4313143420)...55Downloading artifacts from coordinator... ok host=storage.googleapis.com id=4313143420 responseStatus=200 OK token=64_wr5j156Downloading artifacts for setup-test-env (4313143408)...57Downloading artifacts from coordinator... ok host=storage.googleapis.com id=4313143408 responseStatus=200 OK token=64_wr5j159Using docker image sha256:e2241823d5bdc5e6df7c49ebc7b24c52db10bbb41407a5256c7f2d24ff464f7f 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:f20112d766000374a74ca341735b93b35180b88d806027d821aa8800d0522906 ...60$ echo $FOSS_ONLY61$ [ "$FOSS_ONLY" = "1" ] && rm -rf ee/ qa/spec/ee/ qa/qa/specs/features/ee/ qa/qa/ee/ qa/qa/ee.rb62$ export GOPATH=$CI_PROJECT_DIR/.go63$ mkdir -p $GOPATH64$ source scripts/utils.sh65$ 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 0 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: 762RETRY_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_6_6_report.json768FLAKY_RSPEC_SUITE_REPORT_PATH: rspec/flaky/report-suite.json769FLAKY_RSPEC_REPORT_PATH: rspec/flaky/all_rspec-ee_integration_pg13_6_6_report.json770NEW_FLAKY_RSPEC_REPORT_PATH: rspec/flaky/new_rspec-ee_integration_pg13_6_6_report.json771SKIPPED_TESTS_REPORT_PATH: rspec/skipped_tests_rspec-ee_integration_pg13_6_6.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.778WARNING: Shared example group agent token tracking was defined without a block and will have no effect. Please define a block or remove the definition.. Called from /builds/gitlab-org/gitlab/ee/spec/requests/api/internal/kubernetes_spec.rb:404:in `block (2 levels) in <top (required)>'.779Run options: exclude {:quarantine=>true, :level=>"background_migration"}780Test environment set up in 0.41294126 seconds781API::Groups782 GET /groups783 when authenticated as user784 returns ldap details785 returns saml group links786 GET /groups/:id787 group_ip_restriction788 when the group_ip_restriction feature is not available789 returns 200790 when the group_ip_restriction feature is available791 returns 404 for request from ip not in the range792 returns 200 for request from ip in the range793 marked_for_deletion_on attribute794 when feature is available795 is exposed796 when feature is not available797 is not exposed798 file_template_project_id is a private project799 user has permission to private project800 returns file_template_project_id801 user does not have permission to private project802 does not return file_template_project_id803 user is not logged in804 does not return file_template_project_id805 PUT /groups/:id806 behaves like PUT request permissions for admin mode807 behaves like when admin808 behaves like makes request809 returns810 behaves like makes request811 returns812 behaves like when user813 returns814 behaves like makes request815 returns816 file_template_project_id817 does not update file_template_project_id if unlicensed818 updates file_template_project_id if licensed819 shared_runners_minutes_limit820 when authenticated as the group owner821 returns 200 if shared_runners_minutes_limit is not changing822 when authenticated as the admin823 updates the group for shared_runners_minutes_limit824 default_branch_protection825 authenticated as an admin826 feature_enabled: true, setting_enabled: true, default_branch_protection: 0827 updates the attribute as expected828 feature_enabled: false, setting_enabled: true, default_branch_protection: 0829 updates the attribute as expected830 feature_enabled: true, setting_enabled: false, default_branch_protection: 0831 updates the attribute as expected832 feature_enabled: false, setting_enabled: false, default_branch_protection: 0833 updates the attribute as expected834 authenticated a normal user835 feature_enabled: true, setting_enabled: true, default_branch_protection: 0836 updates the attribute as expected837 feature_enabled: false, setting_enabled: true, default_branch_protection: 0838 updates the attribute as expected839 feature_enabled: true, setting_enabled: false, default_branch_protection: 2840 updates the attribute as expected841 feature_enabled: false, setting_enabled: false, default_branch_protection: 0842 updates the attribute as expected843 prevent_forking_outside_group844 authenticated as group owner845 feature_enabled: false, prevent_forking_outside_group: false, result: nil846 updates the attribute as expected847 feature_enabled: false, prevent_forking_outside_group: true, result: nil848 updates the attribute as expected849 feature_enabled: true, prevent_forking_outside_group: false, result: false850 updates the attribute as expected851 feature_enabled: true, prevent_forking_outside_group: true, result: true852 updates the attribute as expected853 when ip_restriction_ranges is specified854 when feature is available855 updates ip restriction range for the group856 when feature is not available857 does not update the ip restriction range for the group858 for instances that have the usage_ping_features activated859 updates ip restriction range for the group860 unique_project_download* attributes861 when authenticated as group owner862 when feature flag enabled and feature available863 updates the attributes as expected864 flag_enabled: true, feature_available: false865 does not update the attributes866 flag_enabled: false, feature_available: true867 does not update the attributes868 flag_enabled: false, feature_available: false869 does not update the attributes870 wiki_access_level871 updates the attribute as expected872 updates the attribute as expected873 updates the attribute as expected874 POST /groups875 behaves like POST request permissions for admin mode876 behaves like when admin877 behaves like makes request878 returns879 behaves like makes request880 returns881 behaves like when user882 returns883 behaves like makes request884 returns885 when authenticated as user with group permissions886 creates an ldap_group_link if ldap_cn and ldap_access are supplied887 when shared_runners_minutes_limit is given888 when the current user is not an admin889 does not create a group with shared_runners_minutes_limit890 when the current user is an admin891 creates a group with shared_runners_minutes_limit892 when creating a group with `default_branch_protection` attribute893 authenticated as an admin894 feature_enabled: true, setting_enabled: true, default_branch_protection: 0895 creates the group with the expected `default_branch_protection` value896 feature_enabled: false, setting_enabled: true, default_branch_protection: 0897 creates the group with the expected `default_branch_protection` value898 feature_enabled: true, setting_enabled: false, default_branch_protection: 0899 creates the group with the expected `default_branch_protection` value900 feature_enabled: false, setting_enabled: false, default_branch_protection: 0901 creates the group with the expected `default_branch_protection` value902 authenticated a normal user903 feature_enabled: true, setting_enabled: true, default_branch_protection: 0904 creates the group with the expected `default_branch_protection` value905 feature_enabled: false, setting_enabled: true, default_branch_protection: 0906 creates the group with the expected `default_branch_protection` value907 feature_enabled: true, setting_enabled: false, default_branch_protection: 2908 creates the group with the expected `default_branch_protection` value909 feature_enabled: false, setting_enabled: false, default_branch_protection: 0910 creates the group with the expected `default_branch_protection` value911 when creating group on .com912 when top_level_group_creation_enabled feature flag is disabled913 does not create a top-level group914 creates a subgroup915 when top_level_group_creation_enabled feature flag is enabled916 creates a top-level group917 when creating group on self-managed918 when top_level_group_creation_enabled feature flag is disabled919 creates a top-level group920 creates a subgroup921 when top_level_group_creation_enabled feature flag is enabled922 creates a top-level group923 wiki_access_level924 updates the attribute as expected925 updates the attribute as expected926 updates the attribute as expected927 POST /groups/:id/ldap_sync928 behaves like POST request permissions for admin mode929 behaves like when admin930 behaves like makes request931 returns932 behaves like makes request933 returns934 behaves like when user935 returns936 behaves like makes request937 returns938 when the ldap_group_sync feature is available939 when authenticated as the group owner940 returns 404 for a non existing group941 when the group is ready to sync942 returns 202 Accepted943 queues a sync job944 sets the ldap_sync state to pending945 when the group is already pending a sync946 returns 202 Accepted947 does not queue a sync job948 does not change the ldap_sync state949 when authenticated as the admin950 returns 202 Accepted951 when authenticated as a non-owner user that can see the group952 returns 403953 when authenticated as an user that cannot see the group954 returns 404955 when the ldap_group_sync feature is not available956 returns 404 (same as CE would)957 GET /groups/:id/projects958 when authenticated as user959 when security dashboard is enabled for a group960 returns only projects with security scans961 when security dashboard is disabled for a group962 returns all projects regardless of the security scans963 when namespace license checks are enabled964 when there are plans and projects965 only loads plans once966 when there are no projects967 completes the request without error968 GET group/:id/audit_events969 behaves like inaccessable by reporter role and lower970 for reporter971 returns 403 response972 for guest973 returns 403 response974 for anonymous975 returns 403 response976 behaves like GET request permissions for admin mode977 behaves like when admin978 behaves like makes request979 returns980 behaves like makes request981 returns982 behaves like when user983 returns984 behaves like makes request985 returns986 when authenticated, as a member987 returns only events authored by current user988 when authenticated, as a group owner989 audit events feature is not available990 behaves like 403 response991 returns 403992 audit events feature is available993 returns 200 response994 includes the correct pagination headers995 does not include audit events of a different group996 parameters997 behaves like supports keyset pagination998 paginates the records correctly999 on making requests with unsupported ordering structure1000 returns error1001 created_before parameter1002 returns audit events created before the given parameter1003 created_after parameter1004 returns audit events created after the given parameter1005 response schema1006 matches the response schema1007 Snowplow event tracking1008 behaves like Snowplow event tracking with RedisHLL context1009 behaves like Snowplow event tracking1010 is emitted1011 GET group/:id/audit_events/:audit_event_id1012 behaves like inaccessable by reporter role and lower1013 for reporter1014 returns 403 response1015 for guest1016 returns 403 response1017 for anonymous1018 returns 403 response1019 when authenticated, as a member1020 returns 200 response1021 existing audit event of a different user1022 behaves like 404 response1023 returns 4041024 when authenticated, as a group owner1025 audit events feature is not available1026 behaves like 403 response1027 returns 4031028 audit events feature is available1029 existent audit event1030 returns 200 response1031 response schema1032 matches the response schema1033 Snowplow event tracking1034 behaves like Snowplow event tracking with RedisHLL context1035 behaves like Snowplow event tracking1036 is emitted1037 invalid audit_event_id1038 behaves like 400 response1039 returns 4001040 non existent audit event1041 non existent audit event of a group1042 behaves like 404 response1043 returns 4041044 existing audit event of a different group1045 behaves like 404 response1046 returns 4041047 DELETE /groups/:id1048 feature is available1049 does not mark the group for deletion when the group has a paid gitlab.com subscription1050 marks for deletion a subgroup of a group with a paid gitlab.com subscription1051 marks for deletion of a group with a trial plan1052 when delayed group deletion is enabled1053 success1054 behaves like marks group for delayed deletion1055 marks group for delayed deletion1056 when deletion adjourned period is 01057 behaves like immediately enqueues the job to delete the group1058 immediately enqueues the job to delete the group1059 when permanently_remove param is sent1060 if permanently_remove is true1061 if group is a subgroup1062 when group is already marked for deletion1063 when full_path param is not passed1064 behaves like does not immediately enqueues the job to delete the group1065 does not immediately enqueues the job to delete the group1066 when full_path param is not equal to full_path1067 behaves like does not immediately enqueues the job to delete the group1068 does not immediately enqueues the job to delete the group1069 when the full_path param is passed and it matches the full path of subgroup1070 behaves like immediately enqueues the job to delete the group1071 immediately enqueues the job to delete the group1072 when group is not marked for deletion1073 behaves like does not immediately enqueues the job to delete the group1074 does not immediately enqueues the job to delete the group1075 if group is not a subgroup1076 behaves like does not immediately enqueues the job to delete the group1077 does not immediately enqueues the job to delete the group1078 if permanently_remove is not true1079 when it is false1080 behaves like marks group for delayed deletion1081 marks group for delayed deletion1082 when it is non boolean1083 behaves like marks group for delayed deletion1084 marks group for delayed deletion1085 when delayed group deletion is disabled1086 when `always_perform_delayed_deletion` is disabled1087 behaves like immediately enqueues the job to delete the group1088 immediately enqueues the job to delete the group1089 when `always_perform_delayed_deletion` is enabled1090 behaves like marks group for delayed deletion1091 marks group for delayed deletion1092 failure1093 returns error1094 feature is not available1095 does not delete the group when the group has a paid gitlab.com subscription1096 deletes a subgroup of a group with a paid gitlab.com subscription1097 deletes a group with a trial plan1098 behaves like immediately enqueues the job to delete the group1099 immediately enqueues the job to delete the group1100 POST /groups/:id/restore1101 feature is available1102 authenticated as owner1103 restoring is successful1104 restores the group to original state1105 restoring fails1106 returns error1107 authenticated as user without access to the group1108 returns 4031109 feature is not available1110 returns 4041111 GET /groups/:id/provisioned_users1112 when current_user is not a group maintainer1113 returns 4031114 when current_user is a group maintainer1115 returns a list of users provisioned by the group1116 optional params1117 search param1118 filters by search1119 username param1120 filters by username1121 blocked param1122 filters by blocked1123 active param1124 filters by active status1125 created_after1126 filters by created_at1127 created_before1128 filters by created_at1129API::Settings EE Settings1130 behaves like GET request permissions for admin mode1131 behaves like when admin1132 behaves like makes request1133 returns1134 behaves like makes request1135 returns1136 behaves like when user1137 returns1138 behaves like makes request1139 returns1140 PUT /application/settings1141 sets EE specific settings1142 behaves like PUT request permissions for admin mode1143 behaves like when admin1144 behaves like makes request1145 returns1146 behaves like makes request1147 returns1148 behaves like when user1149 returns1150 behaves like makes request1151 returns1152 elasticsearch settings1153 limits namespaces and projects properly1154 removes namespaces and projects properly1155 secret_detection_token_revocation_enabled is true1156 secret_detection_token_revocation_url value is present1157 updates secret_detection_token_revocation_url1158 missing secret_detection_token_revocation_url value1159 returns a blank parameter error message1160 openai api key setting1161 updates openai_api_key1162 anthropic api key setting1163 updates anthropic_api_key1164 mirroring settings1165 behaves like settings for licensed features1166 when the feature is not available1167 hides the attributes in the API1168 does not update application settings1169 when the feature is available1170 includes the attributes in the API1171 allows updating the settings1172 custom email footer1173 behaves like settings for licensed features1174 when the feature is not available1175 hides the attributes in the API1176 does not update application settings1177 when the feature is available1178 includes the attributes in the API1179 allows updating the settings1180 git_two_factor_session_expiry setting1181 behaves like settings for licensed features1182 when the feature is not available1183 hides the attributes in the API1184 does not update application settings1185 when the feature is available1186 includes the attributes in the API1187 allows updating the settings1188 default project deletion protection1189 behaves like settings for licensed features1190 when the feature is not available1191 hides the attributes in the API1192 does not update application settings1193 when the feature is available1194 includes the attributes in the API1195 allows updating the settings1196 default delayed group deletion1197 when `always_perform_delayed_deletion` is disabled1198 behaves like settings for licensed features1199 when the feature is not available1200 hides the attributes in the API1201 does not update application settings1202 when the feature is available1203 includes the attributes in the API1204 allows updating the settings1205 delayed project deletion1206 when `always_perform_delayed_deletion` is disabled1207 behaves like settings for licensed features1208 when the feature is not available1209 hides the attributes in the API1210 does not update application settings1211 when the feature is available1212 includes the attributes in the API1213 allows updating the settings1214 group_owners_can_manage_default_branch_protection setting1215 behaves like settings for licensed features1216 when the feature is not available1217 hides the attributes in the API1218 does not update application settings1219 when the feature is available1220 includes the attributes in the API1221 allows updating the settings1222 delayed deletion period1223 behaves like settings for licensed features1224 when the feature is not available1225 hides the attributes in the API1226 does not update application settings1227 when the feature is available1228 includes the attributes in the API1229 allows updating the settings1230 custom file template project1231 behaves like settings for licensed features1232 when the feature is not available1233 hides the attributes in the API1234 does not update application settings1235 when the feature is available1236 includes the attributes in the API1237 allows updating the settings1238 updating name disabled for users1239 behaves like settings for licensed features1240 when the feature is not available1241 hides the attributes in the API1242 does not update application settings1243 when the feature is available1244 includes the attributes in the API1245 allows updating the settings1246 merge request approvers rules1247 behaves like settings for licensed features1248 when the feature is not available1249 hides the attributes in the API1250 does not update application settings1251 when the feature is available1252 includes the attributes in the API1253 allows updating the settings1254 updating npm packages request forwarding1255 behaves like settings for licensed features1256 when the feature is not available1257 hides the attributes in the API1258 does not update application settings1259 when the feature is available1260 includes the attributes in the API1261 allows updating the settings1262 maintenance mode1263 behaves like settings for licensed features1264 when the feature is not available1265 hides the attributes in the API1266 does not update application settings1267 when the feature is available1268 includes the attributes in the API1269 allows updating the settings1270 when geo feature is disabled1271 with registration features disabled1272 hides the attributes in the API1273 does not update application settings1274 with registration features enabled1275 includes the attributes in the API1276 allows updating the settings1277 password complexity settings1278 behaves like settings for licensed features1279 when the feature is not available1280 hides the attributes in the API1281 does not update application settings1282 when the feature is available1283 includes the attributes in the API1284 allows updating the settings1285 git abuse rate limit settings1286 behaves like settings for licensed features1287 when the feature is not available1288 hides the attributes in the API1289 does not update application settings1290 when the feature is available1291 includes the attributes in the API1292 allows updating the settings1293 disable personal access tokens setting1294 behaves like settings for licensed features1295 when the feature is not available1296 hides the attributes in the API1297 does not update application settings1298 when the feature is available1299 includes the attributes in the API1300 allows updating the settings1301Git HTTP requests (Geo)1302 when current node is a secondary1303 GET info_refs1304 git pull1305 when the repository exists1306 but has not successfully synced1307 behaves like a Geo 302 redirect to Primary1308 valid Geo JWT token1309 returns a redirect response1310 when terms are enforced1311 behaves like a Geo 302 redirect to Primary1312 valid Geo JWT token1313 returns a redirect response1314 and has successfully synced1315 behaves like a Geo git request1316 post-dated Geo JWT token1317 is expected to respond with numeric status code unauthorized1318 expired Geo JWT token1319 is expected to respond with numeric status code unauthorized1320 invalid Geo JWT token1321 is expected to respond with numeric status code unauthorized1322 no Geo JWT token1323 is expected to respond with numeric status code unauthorized1324 Geo is unlicensed1325 is expected to respond with numeric status code forbidden1326 behaves like a Geo 200 git request1327 valid Geo JWT token1328 returns an OK response with JSON data1329 when terms are enforced1330 behaves like a Geo git request1331 post-dated Geo JWT token1332 is expected to respond with numeric status code unauthorized1333 expired Geo JWT token1334 is expected to respond with numeric status code unauthorized1335 invalid Geo JWT token1336 is expected to respond with numeric status code unauthorized1337 no Geo JWT token1338 is expected to respond with numeric status code unauthorized1339 Geo is unlicensed1340 is expected to respond with numeric status code forbidden1341 behaves like a Geo 200 git request1342 valid Geo JWT token1343 returns an OK response with JSON data1344 when the repository does not exist1345 behaves like a Geo 302 redirect to Primary1346 valid Geo JWT token1347 returns a redirect response1348 when terms are enforced1349 behaves like a Geo 302 redirect to Primary1350 valid Geo JWT token1351 returns a redirect response1352 when the project does not exist1353 behaves like a Geo 302 redirect to Primary1354 valid Geo JWT token1355 returns a redirect response1356 when terms are enforced1357 behaves like a Geo 302 redirect to Primary1358 valid Geo JWT token1359 returns a redirect response1360 git push1361 behaves like a Geo 302 redirect to Primary1362 valid Geo JWT token1363 returns a redirect response1364 POST git_upload_pack1365 when the repository exists1366 behaves like a Geo git request1367 post-dated Geo JWT token1368 is expected to respond with numeric status code unauthorized1369 expired Geo JWT token1370 is expected to respond with numeric status code unauthorized1371 invalid Geo JWT token1372 is expected to respond with numeric status code unauthorized1373 no Geo JWT token1374 is expected to respond with numeric status code unauthorized1375 Geo is unlicensed1376 is expected to respond with numeric status code forbidden1377 behaves like a Geo 200 git request1378 valid Geo JWT token1379 returns an OK response with JSON data1380 when terms are enforced1381 behaves like a Geo git request1382 post-dated Geo JWT token1383 is expected to respond with numeric status code unauthorized1384 expired Geo JWT token1385 is expected to respond with numeric status code unauthorized1386 invalid Geo JWT token1387 is expected to respond with numeric status code unauthorized1388 no Geo JWT token1389 is expected to respond with numeric status code unauthorized1390 Geo is unlicensed1391 is expected to respond with numeric status code forbidden1392 behaves like a Geo 200 git request1393 valid Geo JWT token1394 returns an OK response with JSON data1395 when the repository does not exist1396 behaves like a Geo 302 redirect to Primary1397 valid Geo JWT token1398 returns a redirect response1399 when terms are enforced1400 behaves like a Geo 302 redirect to Primary1401 valid Geo JWT token1402 returns a redirect response1403 git-lfs1404 Batch API1405 POST /namespace/repo.git/info/lfs/objects/batch1406 operation upload1407 with a valid git-lfs version1408 behaves like a Geo 302 redirect to Primary1409 valid Geo JWT token1410 returns a redirect response1411 with an invalid git-lfs version1412 description: "outdated", version: "git-lfs/2.4.1"1413 that is description: "outdated", version: "git-lfs/2.4.1"1414 is forbidden1415 description: "unknown", version: "git-lfs"1416 that is description: "unknown", version: "git-lfs"1417 is forbidden1418 operation download1419 when the repository exists1420 is handled by the secondary1421 when the repository does not exist1422 behaves like a Geo 302 redirect to Primary1423 valid Geo JWT token1424 returns a redirect response1425 description: "outdated", version: "git-lfs/2.4.1"1426 with an description: "outdated", version: "git-lfs/2.4.1" git-lfs version1427 is handled by the secondary1428 description: "unknown", version: "git-lfs"1429 with an description: "unknown", version: "git-lfs" git-lfs version1430 is handled by the secondary1431 Transfer API1432 GET /namespace/repo.git/gitlab-lfs/objects/<oid>1433 when the repository exists1434 behaves like a Geo 200 git-lfs request1435 valid Geo JWT token1436 returns an OK response with binary data1437 when the repository has been updated1438 is handled by the secondary1439 Locks API1440 description: "create", path: "info/lfs/locks", args: {}1441 POST description: "create", path: "info/lfs/locks", args: {}1442 behaves like a Geo 302 redirect to Primary1443 valid Geo JWT token1444 returns a redirect response1445 description: "verify", path: "info/lfs/locks/verify", args: {}1446 POST description: "verify", path: "info/lfs/locks/verify", args: {}1447 behaves like a Geo 302 redirect to Primary1448 valid Geo JWT token1449 returns a redirect response1450 description: "unlock", path: "info/lfs/locks/1/unlock", args: {:id=>1}1451 POST description: "unlock", path: "info/lfs/locks/1/unlock", args: {:id=>1}1452 behaves like a Geo 302 redirect to Primary1453 valid Geo JWT token1454 returns a redirect response1455 when current node is the primary1456 POST git_receive_pack1457 when HTTP redirected from a secondary node1458 stores the secondary node ID so the internal API post_receive request can generate the replication lag message1459 when proxying an SSH request from a secondary node1460 when gl_id is provided in JWT token1461 but is invalid1462 geo_gl_id: "key-999"1463 returns a 4031464 geo_gl_id: "key-1"1465 returns a 4031466 geo_gl_id: "key-999"1467 returns a 4031468 geo_gl_id: "junk"1469 returns a 4031470 geo_gl_id: "junk-1"1471 returns a 4031472 geo_gl_id: "kkey-1"1473 returns a 4031474 and is valid1475 but the user has no access1476 returns a 4041477 but the user does not have push access1478 returns a 4031479 and the user has push access1480 returns a 2001481 repository does not exist1482 is expected to respond with numeric status code not_found1483 invalid scope1484 invalid scope of Geo JWT token1485 is expected to respond with numeric status code unauthorized1486 returns correct error1487 Geo JWT token scopes for wiki and repository are not interchangeable1488 for a repository but using a wiki scope1489 is expected to respond with numeric status code unauthorized1490 returns correct error1491 for a wiki but using a repository scope1492 is expected to respond with numeric status code unauthorized1493 returns correct error1494 IP allowed settings1495 returns unauthorized error1496 returns success response1497API::GeoNodes1498 POST /geo_nodes1499 denies access if not admin1500 returns rendering error if params are missing1501 delegates the creation of the Geo node to Geo::NodeCreateService1502 GET /geo_nodes1503 retrieves the Geo nodes if admin is logged in1504 denies access if not admin1505 GET /geo_nodes/:id1506 retrieves the Geo nodes if admin is logged in1507 denies access if not admin1508 behaves like 404 response1509 returns 4041510 GET /geo_nodes/status1511 retrieves all Geo nodes statuses if admin is logged in1512 returns only one record if only one record exists1513 denies access if not admin1514 GET /geo_nodes/:id/status1515 retrieves the Geo nodes status if admin is logged in1516 fetches the current node status from redis1517 shows the database-held response if current node status exists in the database, but not redis1518 the secondary shows 404 response if current node status does not exist in database or redis yet1519 the primary shows 404 response if secondary node status does not exist in database yet1520 denies access if not admin1521 behaves like 404 response1522 returns 4041523 POST /geo_nodes/:id/repair1524 denies access if not admin1525 returns 200 for the primary node1526 returns 200 when node does not need repairing1527 repairs a secondary with oauth application missing1528 behaves like 404 response1529 returns 4041530 PUT /geo_nodes/:id1531 denies access if not admin1532 updates the parameters1533 can update primary1534 cannot disable a primary1535 behaves like 404 response1536 returns 4041537 auth with geo node token1538 enables the secondary node1539 disables the secondary node1540 returns bad request if you try to update the primary1541 responds with 401 when IP is not allowed1542 responds 401 if auth header is bad1543 DELETE /geo_nodes/:id1544 denies access if not admin1545 deletes the node1546 returns 500 if Geo Node could not be deleted1547 behaves like 404 response1548 returns 4041549 GET /geo_nodes/current/failures1550 primary node1551 forbids requests1552 secondary node1553 fetches the current node failures1554 does not show any registry when there is no failure1555 denies access if not admin1556 wiki type1557 only shows wiki failures1558 repository type1559 only shows repository failures1560 nonexistent type1561 returns a bad request1562 verification failures1563 fetches the current node checksum failures1564 does not show any registry when there is no failure1565 wiki type1566 only shows wiki verification failures1567 repository type1568 only shows repository failures1569 checksum mismatch failures1570 fetches the checksum mismatch failures from current node1571 does not show any registry when there is no failure1572 wiki type1573 only shows wiki checksum mismatch failures1574 repository type1575 only shows repository checksum mismatch failures1576Groups::EpicsController1577 when epics feature is disabled1578 GET #index1579 behaves like 404 status1580 returns 404 status1581 GET #new1582 behaves like 404 status1583 returns 404 status1584 GET #show1585 behaves like 404 status1586 returns 404 status1587 PUT #update1588 behaves like 404 status1589 returns 404 status1590 when epics feature is enabled1591 GET #index1592 returns index1593 GET #discussions1594 when issue note is returned1595 project default namespace1596 behaves like issue link presence1597 the link to the issue is included1598 project group namespace1599 behaves like issue link presence1600 the link to the issue is included1601 setting notes filter1602 behaves like issuable notes filter1603 sets discussion filter1604 expires notes e-tag cache for issuable if filter changed1605 does not expires notes e-tag cache for issuable if filter did not change1606 does not set notes filter when database is in read-only mode1607 does not set notes filter when persist_filter param is false1608 returns only user comments1609 returns only activity notes1610 when filter is set to "only_comments"1611 does not merge label event notes1612 GET #new1613 renders template1614 with unauthorized user1615 returns a not found 404 response1616 GET #show1617 when format is HTML1618 renders template1619 logs the view with Gitlab::Search::RecentEpics1620 with unauthorized user1621 returns a not found 404 response1622 behaves like disabled when using an external authorization service1623 works when the feature is not enabled1624 renders a 404 with a message when the feature is enabled1625 when format is JSON1626 returns epic1627 with unauthorized user1628 returns a not found 404 response1629 PUT #update1630 with correct basic params1631 returns status 2001632 updates the epic correctly1633 when state_event param is close1634 allows epic to be closed1635 when state_event param is reopen1636 allows epic to be reopened1637 GET #realtime_changes1638 returns epic1639 with unauthorized user1640 returns a not found 404 response1641 behaves like disabled when using an external authorization service1642 works when the feature is not enabled1643 renders a 404 with a message when the feature is enabled1644 #create1645 when user has permissions to create an epic1646 when all required parameters are passed1647 returns 200 response1648 creates a new epic1649 assigns labels to the new epic1650 returns the correct json1651 behaves like disabled when using an external authorization service1652 works when the feature is not enabled1653 renders a 404 with a message when the feature is enabled1654 when required parameter is missing1655 returns 422 response1656 does not create a new epic1657 when the endpoint receives requests above the limit1658 prevents from creating more epics1659 logs the event on auth.log1660 with unauthorized user1661 returns a not found 404 response1662 DELETE #destroy1663 rejects a developer to destroy an epic1664 deletes the epic1665 POST #bulk_update1666 with correct params1667 when group bulk edit feature is disabled1668 returns status 4041669 does not update merge requests milestone1670 when group bulk edit feature is enabled1671 returns status 2001672 updates epics labels1673 behaves like DescriptionDiffActions1675 when license is available1676 behaves like description diff actions1677 GET description_diff1678 returns the diff with the previous version1679 returns the diff with the previous version of the specified start_version_id1680 when description version is from another issuable1681 returns 4041682 when start_version_id is from another issuable1683 returns 4041684 when start_version_id is deleted1685 returns 4041686 when description version is deleted1687 returns 4041688 DELETE description_diff1689 returns 2001690 when start_version_id is present1691 returns 2001692 when version is already deleted1693 returns 4041694 when user cannot admin issuable1695 returns 4041696 when features are available through Registration Features1697 behaves like description diff actions1698 GET description_diff1699 returns the diff with the previous version1700 returns the diff with the previous version of the specified start_version_id1701 when description version is from another issuable1702 returns 4041703 when start_version_id is from another issuable1704 returns 4041705 when start_version_id is deleted1706 returns 4041707 when description version is deleted1708 returns 4041709 DELETE description_diff1710 returns 2001711 when start_version_id is present1712 returns 2001713 when version is already deleted1714 returns 4041715 when user cannot admin issuable1716 returns 4041717 when license is not available1718 GET description_diff1719 returns 4041720 DELETE description_diff1721 returns 4041722Projects::LicensesController1723 GET #index1724 when the "Security and Compliance" feature is disabled1725 is expected to respond with numeric status code not_found1726 with authorized user1727 when feature is available1728 with reporter1729 counts usage of the feature1730 when requesting HTML1731 returns the necessary licenses app data1732 with existing report1733 when the license_scanning_sbom_scanner feature flag is disabled1734 returns success code1735 returns a hash with licenses sorted by name1736 returns status ok1737 includes the pagination headers1738 with pagination params1739 return only 1 license1740 when the license_scanning_sbom_scanner feature flag is enabled1741 returns success code1742 returns a hash with licenses sorted by name1743 returns status ok1744 includes the pagination headers1745 with pagination params1746 return only 1 license1747 when software policies are applied to some of the most recently detected licenses1748 when the license_scanning_sbom_scanner feature flag is disabled1749 when loading all policies1750 is expected to respond with numeric status code ok1751 is expected to equal 41752 sorts by name by default1753 includes a policy for an unclassified and known license that was detected in the scan report1754 includes a policy for a denied license found in the scan report1755 includes a policy for an allowed license NOT found in the latest scan report1756 includes an entry for an unclassified and unknown license found in the scan report1757 when loading software policies that match licenses detected in the most recent license scan report1758 is expected to respond with numeric status code ok1759 only includes policies for licenses detected in the most recent scan report1760 includes an unclassified policy for a known license detected in the scan report1761 includes a classified license for a known license detected in the scan report1762 includes an unclassified and unknown license discovered in the scan report1763 when loading `allowed` software policies only1764 is expected to respond with numeric status code ok1765 is expected to equal 11766 includes only `allowed` policies1767 when loading `allowed` and `denied` software policies1768 is expected to respond with numeric status code ok1769 is expected to equal 21770 includes `denied` policies1771 includes `allowed` policies1772 when loading policies ordered by `classification` in `ascending` order1773 is expected to respond with numeric status code ok1774 is expected to eq ["allowed", "unclassified", "unclassified", "denied"]1775 when the license_scanning_sbom_scanner feature flag is enabled1776 when loading all policies1777 is expected to respond with numeric status code ok1778 is expected to equal 41779 sorts by name by default1780 includes a policy for an unclassified and known license that was detected in the scan report1781 includes a policy for a denied license found in the scan report1782 includes a policy for an allowed license NOT found in the latest scan report1783 includes an entry for an unclassified and unknown license found in the scan report1784 when loading software policies that match licenses detected in the most recent license scan report1785 is expected to respond with numeric status code ok1786 only includes policies for licenses detected in the most recent scan report1787 includes an unclassified policy for a known license detected in the scan report1788 includes a classified license for a known license detected in the scan report1789 includes an unclassified and unknown license discovered in the scan report1790 when loading `allowed` software policies only1791 is expected to respond with numeric status code ok1792 is expected to equal 11793 includes only `allowed` policies1794 when loading `allowed` and `denied` software policies1795 is expected to respond with numeric status code ok1796 is expected to equal 21797 includes `denied` policies1798 includes `allowed` policies1799 when loading policies ordered by `classification` in `ascending` order1800 is expected to respond with numeric status code ok1801 is expected to eq ["allowed", "unclassified", "unclassified", "denied"]1802 without existing license scanning report1803 returns status job_not_set_up1804 with maintainer1805 responds to an HTML request1806 when feature is not available1807 returns 4041808 with unauthorized user1809 returns 4041810Epics through GroupQuery1811 Get list of epics from a group1812 when the request is correct1813 returns epics successfully1814 behaves like a working graphql query1815 returns a successful response1816 with multiple epics1817 sorts by created_at descending by default1818 has upvote/downvote information1819 with sort and pagination1820 with start_date_asc1821 behaves like sorted paginated query1822 behaves like requires variables1823 shared example requires variables to be set1825 when sorting1826 sorts correctly1827 when paginating1828 paginates correctly1829 when last and sort params are present1830 fetches last elements without error1831 with start_date_desc1832 behaves like sorted paginated query1833 behaves like requires variables1834 shared example requires variables to be set1836 when sorting1837 sorts correctly1838 when paginating1839 paginates correctly1840 when last and sort params are present1841 fetches last elements without error1842 with end_date_asc1843 behaves like sorted paginated query1844 behaves like requires variables1845 shared example requires variables to be set1847 when sorting1848 sorts correctly1849 when paginating1850 paginates correctly1851 when last and sort params are present1852 fetches last elements without error1853 with end_date_desc1854 behaves like sorted paginated query1855 behaves like requires variables1856 shared example requires variables to be set1858 when sorting1859 sorts correctly1860 when paginating1861 paginates correctly1862 when last and sort params are present1863 fetches last elements without error1864 with created_at_asc1865 behaves like sorted paginated query1866 behaves like requires variables1867 shared example requires variables to be set1869 when sorting1870 sorts correctly1871 when paginating1872 paginates correctly1873 when last and sort params are present1874 fetches last elements without error1875 with created_at_desc1876 behaves like sorted paginated query1877 behaves like requires variables1878 shared example requires variables to be set1880 when sorting1881 sorts correctly1882 when paginating1883 paginates correctly1884 when last and sort params are present1885 fetches last elements without error1886 with updated_at_asc1887 behaves like sorted paginated query1888 behaves like requires variables1889 shared example requires variables to be set1891 when sorting1892 sorts correctly1893 when paginating1894 paginates correctly1895 when last and sort params are present1896 fetches last elements without error1897 with updated_at_desc1898 behaves like sorted paginated query1899 behaves like requires variables1900 shared example requires variables to be set1902 when sorting1903 sorts correctly1904 when paginating1905 paginates correctly1906 when last and sort params are present1907 fetches last elements without error1908 can admin epics1909 when permission is absent1910 returns false for adminEpic1911 when permission is present1912 returns true for adminEpic1913 query performance1914 avoids n+1 queries when loading parent field1915 using OR label filter1916 returns items that have at least one of the given labels1917 when queried label names are empty1918 returns all items1919 when feature flag is disabled1920 does not add any filter1921 using OR author filter1922 returns items that have at least one of the given author names1923 when queried label names are empty1924 returns all items1925 when feature flag is disabled1926 does not add any filter1927 with negated filters1928 returns only matching epics1929 with top_level_hierarchy_only argument1930 when set as true1931 returns epics with no parent or parents outside group hierarchy1932 when set as false1933 returns all matching epics1934 with search params1935 behaves like query with a search term1936 returns only matching issuables1937 when error requests1938 when epics feature is disabled1939 returns empty1940 when epics feature is enabled1941 returns a nil group for a user without permissions to see the group1942 Get epic from a group1943 when the request is correct1944 returns an epic successfully1945 behaves like a working graphql query1946 returns a successful response1947 N+1 query checks1948 when requesting `user_notes_count`1949 prevents N+1 queries1950 when requesting `user_discussions_count`1951 prevents N+1 queries1952 when requesting related epics fields1953 when requesting `blocked`1954 prevents N+1 queries1955 when requesting blocked_by_count1956 prevents N+1 queries1957 when requesting blocking_count1958 prevents N+1 queries1959 when requesting participants1960 prevents N+1 queries1961 when award emoji votes1962 prevents N+1 queries1963 when requesting labels1964 prevents N+1 queries1965 when requesting epic issues and respective labels1966 expect to load issue labels1967 Get related epic links fields1968 returns correct field values1969 Get default project for issue creation1970 returns the default project for issue based on the last event1971Groups::PushRulesController1972 #update1973 push rules unlicensed1974 returns 404 status1975 push rules licensed1976 Updating reject_unsigned_commits rule1977 as an admin1978 when admin mode enabled1979 behaves like an updatable setting with global default1980 when reject_unsigned_commits not specified on global level1981 behaves like updateable setting1982 updates the setting1983 when global setting reject_unsigned_commits is enabled1984 behaves like updateable setting1985 updates the setting1986 when admin mode disabled1987 behaves like a not updatable setting with global default1988 when reject_unsigned_commits is disabled1989 behaves like not updateable setting1990 does not update the setting1991 when global setting reject_unsigned_commits is enabled1992 behaves like not updateable setting1993 does not update the setting1994 as a maintainer user1995 updates the push rule1996 when global setting reject_unsigned_commits is disabled1997 behaves like updateable setting1998 updates the setting1999 when global setting reject_unsigned_commits is enabled2000 behaves like not updateable setting2001 does not update the setting2002 as a developer user2003 behaves like a not updatable setting with global default2004 when reject_unsigned_commits is disabled2005 behaves like not updateable setting2006 does not update the setting2007 when global setting reject_unsigned_commits is enabled2008 behaves like not updateable setting2009 does not update the setting2010 Updating commit_committer_check rule2011 as an admin2012 when admin mode enabled2013 behaves like an updatable setting with global default2014 when commit_committer_check not specified on global level2015 behaves like updateable setting2016 updates the setting2017 when global setting commit_committer_check is enabled2018 behaves like updateable setting2019 updates the setting2020 when admin mode disabled2021 behaves like a not updatable setting with global default2022 when commit_committer_check is disabled2023 behaves like not updateable setting2024 does not update the setting2025 when global setting commit_committer_check is enabled2026 behaves like not updateable setting2027 does not update the setting2028 as a maintainer user2029 updates the push rule2030 when global setting commit_committer_check is disabled2031 behaves like updateable setting2032 updates the setting2033 when global setting commit_committer_check is enabled2034 behaves like not updateable setting2035 does not update the setting2036 as a developer user2037 behaves like a not updatable setting with global default2038 when commit_committer_check is disabled2039 behaves like not updateable setting2040 does not update the setting2041 when global setting commit_committer_check is enabled2042 behaves like not updateable setting2043 does not update the setting2044 Updating reject_non_dco_commits rule2045 as an admin2046 when admin mode enabled2047 behaves like an updatable setting with global default2048 when reject_non_dco_commits not specified on global level2049 behaves like updateable setting2050 updates the setting2051 when global setting reject_non_dco_commits is enabled2052 behaves like updateable setting2053 updates the setting2054 when admin mode disabled2055 behaves like a not updatable setting with global default2056 when reject_non_dco_commits is disabled2057 behaves like not updateable setting2058 does not update the setting2059 when global setting reject_non_dco_commits is enabled2060 behaves like not updateable setting2061 does not update the setting2062 as a maintainer user2063 updates the push rule2064 when global setting reject_non_dco_commits is disabled2065 behaves like updateable setting2066 updates the setting2067 when global setting reject_non_dco_commits is enabled2068 behaves like not updateable setting2069 does not update the setting2070 as a developer user2071 behaves like a not updatable setting with global default2072 when reject_non_dco_commits is disabled2073 behaves like not updateable setting2074 does not update the setting2075 when global setting reject_non_dco_commits is enabled2076 behaves like not updateable setting2077 does not update the setting2078 Updating commit_committer_name_check rule2079 when commit_committer_name_check is disabled2080 as an admin2081 when admin mode enabled2082 behaves like updates push rule commit_committer_name_check of group2083 matches the given result2084 as a maintainer user2085 behaves like updates push rule commit_committer_name_check of group2086 matches the given result2087 as a developer user2088 behaves like updates push rule commit_committer_name_check of group2089 matches the given result2090 when commit_committer_name_check is enabled2091 when commit_committer_name_check_ff is enabled2092 as an admin2093 when admin mode enabled2094 behaves like updates push rule commit_committer_name_check of group2095 matches the given result2096 as a maintainer user2097 behaves like updates push rule commit_committer_name_check of group2098 matches the given result2099 as a developer user2100 behaves like updates push rule commit_committer_name_check of group2101 matches the given result2102 when commit_committer_name_check_ff is disabled2103 as an admin2104 when admin mode enabled2105 behaves like updates push rule commit_committer_name_check of group2106 matches the given result2107 as a maintainer user2108 behaves like updates push rule commit_committer_name_check of group2109 matches the given result2110 as a developer user2111 behaves like updates push rule commit_committer_name_check of group2112 matches the given result2113 when user role is lower than maintainer2114 push rules unlicensed2115 returns 404 status2116 push rules licensed2117 returns 404 status2118Groups::Analytics::CycleAnalytics::StagesController2119 behaves like Value Stream Analytics Stages controller2120 GET #index2121 succeeds2122 returns correct start events2123 does not include internal events2124 succeeds for subgroups2125 renders `forbidden` based on the response of the service object2126 when `group_id` is not found2127 renders `not_found` when group is missing2128 when user has no lower access level than `reporter`2129 renders `forbidden` response2130 when feature is not available for the group2131 renders `forbidden` response2132 data endpoints2133 GET #median2134 matches the response schema2135 when valid parameters are given2136 succeeds2137 accepts optional `project_ids` array2138 succeeds2139 when `created_before` is missing2140 succeeds2141 when `created_after` is missing2142 succeeds2143 when `created_after` is invalid, falls back to default date2144 is expected to respond with numeric status code success2145 when `created_before` is invalid2146 renders `unprocessable_entity`2147 when `created_after` is later than `created_before`2148 renders `unprocessable_entity`2149 when the date range exceeds 180 days2150 renders `unprocessable_entity`2151 GET #average2152 matches the response schema2153 when valid parameters are given2154 succeeds2155 accepts optional `project_ids` array2156 succeeds2157 when `created_before` is missing2158 succeeds2159 when `created_after` is missing2160 succeeds2161 when `created_after` is invalid, falls back to default date2162 is expected to respond with numeric status code success2163 when `created_before` is invalid2164 renders `unprocessable_entity`2165 when `created_after` is later than `created_before`2166 renders `unprocessable_entity`2167 when the date range exceeds 180 days2168 renders `unprocessable_entity`2169 GET #records2170 when valid parameters are given2171 succeeds2172 accepts optional `project_ids` array2173 succeeds2174 when `created_before` is missing2175 succeeds2176 when `created_after` is missing2177 succeeds2178 when `created_after` is invalid, falls back to default date2179 is expected to respond with numeric status code success2180 when `created_before` is invalid2181 renders `unprocessable_entity`2182 when `created_after` is later than `created_before`2183 renders `unprocessable_entity`2184 when the date range exceeds 180 days2185 renders `unprocessable_entity`2186 when `group_id` is not found2187 renders `not_found` when group is missing2188 when user has no lower access level than `reporter`2189 renders `forbidden` response2190 when feature is not available for the group2191 renders `forbidden` response2192 sort params2193 accepts sort params2194 pagination2195 exposes pagination headers2196 GET #average_duration_chart2197 matches the response schema2198 fills all dates between the given range2199 when valid parameters are given2200 succeeds2201 accepts optional `project_ids` array2202 succeeds2203 when `created_before` is missing2204 succeeds2205 when `created_after` is missing2206 succeeds2207 when `created_after` is invalid, falls back to default date2208 is expected to respond with numeric status code success2209 when `created_before` is invalid2210 renders `unprocessable_entity`2211 when `created_after` is later than `created_before`2212 renders `unprocessable_entity`2213 when the date range exceeds 180 days2214 renders `unprocessable_entity`2215 when `group_id` is not found2216 renders `not_found` when group is missing2217 when user has no lower access level than `reporter`2218 renders `forbidden` response2219 when feature is not available for the group2220 renders `forbidden` response2221 GET #count2222 matches the response schema2223 when valid parameters are given2224 succeeds2225 accepts optional `project_ids` array2226 succeeds2227 when `created_before` is missing2228 succeeds2229 when `created_after` is missing2230 succeeds2231 when `created_after` is invalid, falls back to default date2232 is expected to respond with numeric status code success2233 when `created_before` is invalid2234 renders `unprocessable_entity`2235 when `created_after` is later than `created_before`2236 renders `unprocessable_entity`2237 when the date range exceeds 180 days2238 renders `unprocessable_entity`2239 when `group_id` is not found2240 renders `not_found` when group is missing2241 when user has no lower access level than `reporter`2242 renders `forbidden` response2243 when feature is not available for the group2244 renders `forbidden` response2245API::ProjectMirror2246 POST /projects/:id/mirror/pull2247 when authenticated via GitHub signature2248 when project is not mirrored2249 is expected to respond with numeric status code bad_request2250 when project is mirrored2251 when "pull_request" event is received2252 behaves like triggering pipeline creation2253 enqueues Ci::ExternalPullRequests::CreatePipelineWorker2254 when any param is missing2255 returns the error message2256 when action is not supported2257 ignores it and return success status2258 when authenticated as user2259 behaves like triggering pipeline creation2260 enqueues Ci::ExternalPullRequests::CreatePipelineWorker2261 when ci_cd_projects is not available2262 returns the error message2263 when github_integration is not available2264 returns the error message2265 when "push" event is received2266 when import state is none2267 behaves like an API endpoint that triggers pull mirroring operation2268 executes UpdateAllMirrorsWorker2269 when import state is failed2270 behaves like an API endpoint that triggers pull mirroring operation2271 executes UpdateAllMirrorsWorker2272 and retried more than 14 times2273 behaves like an API endpoint that does not trigger pull mirroring operation2274 does not execute UpdateAllMirrorsWorker and returns forbidden2275 when import state is finished2276 behaves like an API endpoint that triggers pull mirroring operation2277 executes UpdateAllMirrorsWorker2278 when import state is scheduled2279 behaves like an API endpoint that does not trigger pull mirroring operation2280 does not execute UpdateAllMirrorsWorker and returns ok2281 when import state is started2282 behaves like an API endpoint that does not trigger pull mirroring operation2283 does not execute UpdateAllMirrorsWorker and returns ok2284 when authenticated as user2285 is authenticated as developer2286 returns forbidden error2287 is authenticated as reporter2288 returns forbidden error2289 is authenticated as guest2290 returns forbidden error2291 is authenticated as maintainer2292 triggers the pull mirroring operation2293 is authenticated as owner2294 triggers the pull mirroring operation2295 when repository_mirrors feature is not available2296 behaves like an API endpoint that does not trigger pull mirroring operation2297 does not execute UpdateAllMirrorsWorker and returns bad_request2298 when repository_mirrors feature is available2299 behaves like an API endpoint that triggers pull mirroring operation2300 executes UpdateAllMirrorsWorker2301 when not authenticated2302 with public project2303 returns a 401 status2304 with internal project2305 returns a 404 status2306 with private project2307 returns a 404 status2308 GET /projects/:id/mirror/pull2309 when user is missing2310 returns Unauthorized2311 when user has no admin permissions2312 returns forbidden error2313 when user has admin permissions2314 returns pull mirror details2315 when project does not support mirroring2316 returns BadRequest2317API::Internal::Kubernetes2318 POST /internal/kubernetes/modules/remote_development/reconcile2319 returns 401 if Authorization header not sent2320 returns 401 if Authorization is for non-existent agent2321 not authenticated2322 returns 4012323 kubernetes_agent_internal_api feature flag disabled2324 returns 4042325 when service response is successful2326 returns service response with payload2327 when service response is not successful2328 returns service response with error2329 when remote_development feature is unlicensed2330 returns service response with payload2331 when remote_development_feature_flag feature flag is disabled2332 returns service response with payload2333 POST /internal/kubernetes/agent_configuration2334 not authenticated2335 returns 4012336 kubernetes_agent_internal_api feature flag disabled2337 returns 4042338 when remote development is configured2339 creates the remote dev configuration2340 when remote_development feature is unlicensed2341 creates the remote dev configuration2342 when remote_development_feature_flag feature flag is disabled2343 creates the remote dev configuration2344 PUT /internal/kubernetes/modules/starboard_vulnerability2345 returns 401 if Authorization header not sent2346 returns 401 if Authorization is for non-existent agent2347 not authenticated2348 returns 4012349 kubernetes_agent_internal_api feature flag disabled2350 returns 4042351 is authenticated for an agent2352 returns ok when a vulnerability is created2353 accepts the same payload twice2354 responds with the created vulnerability's UUID2355 when payload is invalid2356 returns bad request2357 when required parameters are missing2358 missing_param: :vulnerability2359 returns bad request2360 missing_param: :scanner2361 returns bad request2362 when feature is not available2363 returns forbidden for non licensed project2364 POST /internal/kubernetes/modules/starboard_vulnerability/scan_result2365 returns 401 if Authorization header not sent2366 returns 401 if Authorization is for non-existent agent2367 not authenticated2368 returns 4012369 kubernetes_agent_internal_api feature flag disabled2370 returns 4042371 is authenticated for an agent2372 returns ok2373 resolves undetected vulnerabilities2374 marks undetected vulnerabilities as resolved on default branch2375 does not resolve vulnerabilities with other report types2376 does not resolve other projects' vulnerabilities2377 when payload is invalid2378 returns bad request2379 when feature is not available2380 returns forbidden for non licensed project2381 GET /internal/kubernetes/modules/starboard_vulnerability/policies_configuration2382 returns 401 if Authorization header not sent2383 returns 401 if Authorization is for non-existent agent2384 not authenticated2385 returns 4012386 kubernetes_agent_internal_api feature flag disabled2387 returns 4042388 when security_orchestration_policies is not licensed2389 returns 4022390 when security_orchestration_policies is licensed2391 when policies are present2392 returns expected data2393 when policies are empty2394 returns empty array2395API::RelatedEpicLinks2396 GET /groups/:id/related_epic_links2397 when user has no access to the group2398 returns 4042399 when user has access to the group2400 returns only related epics links the user has access to2401 behaves like endpoint with features check2402 when epics feature is not available2403 is expected to eq 4032404 when related_epics feature is not available2405 is expected to eq 4032406 when filtered by updated_before2407 returns related epic links updated before the given parameter2408 returns no related epic links2409 when filtered by updated_after2410 returns related epic links updated before the given parameter2411 returns no related epic links2412 when filtered by created_after2413 returns related epic links created after the given parameter2414 returns no related epic links2415 when filtered by created_before2416 returns related epic links created before the given parameter2417 returns no related epic links2418 when epics links are in a sub-group2419 returns linked epic from sub-group2420 when user has access to both groups2421 returns related epic links2422 returns multiple links without N + 12423 with pagination2424 returns first page of related epics2425 returns the last page of related epics2426 GET /groups/:id/epics/:epic_id/related_epics2427 when user cannot read epics2428 returns 4042429 when user can read epics2430 returns related epics2431 returns multiple links without N + 12432 behaves like endpoint with features check2433 when epics feature is not available2434 is expected to eq 4032435 when related_epics feature is not available2436 is expected to eq 4032437 POST /groups/:id/epics/:epic_id/related_epics2438 behaves like unauthenticated resource2439 returns 4012440 behaves like insufficient permissions2441 when user can not access source epic2442 behaves like not found resource2443 returns 4042444 when user can only read source epic2445 behaves like forbidden resource2446 returns 4032447 when user can only manage source epic2448 behaves like not found resource2449 returns 4042450 when user is guest in target group2451 behaves like successful response2452 returns created2453 when target epic is confidential2454 behaves like forbidden resource2455 returns 4032456 when user can relate epics2457 returns 201 when sending full path of target group2458 behaves like endpoint with features check2459 when epics feature is not available2460 is expected to eq 4032461 when related_epics feature is not available2462 is expected to eq 4032463 behaves like successful response2464 returns created2465 when target epic is not found2466 behaves like not found resource2467 returns 4042468 DELETE /groups/:id/epics/:epic_id/related_epics2469 behaves like unauthenticated resource2470 returns 4012471 behaves like insufficient permissions2472 when user can not access source epic2473 behaves like not found resource2474 returns 4042475 when user can only read source epic2476 behaves like forbidden resource2477 returns 4032478 when user can manage source epic2479 behaves like not found resource2480 returns 4042481 when user is guest in target group2482 behaves like successful response2483 returns ok2484 when related_epic_link_id belongs to a different epic2485 behaves like not found resource2486 returns 4042487 when user can relate epics2488 behaves like endpoint with features check2489 when epics feature is not available2490 is expected to eq 4032491 when related_epics feature is not available2492 is expected to eq 4032493 behaves like successful response2494 returns ok2495API::Users2496 updating name2497 behaves like PUT request permissions for admin mode2498 behaves like when admin2499 behaves like makes request2500 returns2501 behaves like makes request2502 returns2503 behaves like when user2504 returns2505 behaves like makes request2506 returns2507 when authenticated and ldap is enabled2508 returns non-ldap user2509 when `disable_name_update_for_users` feature is available2510 when the ability to update their name is disabled for users2511 behaves like admin can update the name of a user2512 updates the user with new name2513 when the ability to update their name is not disabled for users2514 behaves like admin can update the name of a user2515 updates the user with new name2516 when `disable_name_update_for_users` feature is not available2517 behaves like admin can update the name of a user2518 updates the user with new name2519 extended audit events2520 PUT /users/:id2521 creates audit event when updating user with new password2522 behaves like PUT request permissions for admin mode2523 behaves like when admin2524 behaves like makes request2525 returns2526 behaves like makes request2527 returns2528 behaves like when user2529 returns2530 behaves like makes request2531 returns2532 POST /users/:id/block2533 creates audit event when blocking user2534 behaves like POST request permissions for admin mode2535 behaves like when admin2536 behaves like makes request2537 returns2538 behaves like makes request2539 returns2540 behaves like when user2541 returns2542 behaves like makes request2543 returns2544 POST /user/keys2545 creates audit event when user adds a new SSH key2546 POST /users/:id/keys2547 creates audit event when admin adds a new key for a user2548 behaves like POST request permissions for admin mode2549 behaves like when admin2550 behaves like makes request2551 returns2552 behaves like makes request2553 returns2554 behaves like when user2555 returns2556 behaves like makes request2557 returns2558 shared_runners_minutes_limit2559 PUT /users/:id2560 when user is an admin2561 updates shared_runners_minutes_limit2562 when user is not an admin2563 cannot update their own shared_runners_minutes_limit2564 when auditor field is specified2565 PUT /users/:id2566 when user is an admin2567 updates auditor status for the user2568 when licensed_feature is not available2569 cannot update auditor status for the user2570 when user is not an admin2571 cannot update auditor status for the user2572 POST /users/2573 behaves like POST request permissions for admin mode2574 behaves like when admin2575 behaves like makes request2576 returns2577 behaves like makes request2578 returns2579 behaves like when user2580 returns2581 behaves like makes request2582 returns2583 when user is an admin2584 creates user with auditor status2585 when licensed_feature is not available2586 cannot create user with auditor status2587 when user is not an admin2588 cannot create user with auditor status2589 with group SAML2590 creates user with new identity2591 creates user with new identity without sending reset password email2592 updates user with new identity2593 fails to update user with nonexistent identity2594 fails to update user with nonexistent provider2595 contains provisioned_by_group_id parameter2596 behaves like POST request permissions for admin mode2597 behaves like when admin2598 behaves like makes request2599 returns2600 behaves like makes request2601 returns2602 behaves like when user2603 returns2604 behaves like makes request2605 returns2606 GET /api/users?saml_provider_id2607 querying users by saml provider id2608 returns only users for the saml_provider_id2609 GET /user/:id2610 when authenticated2611 as an admin2612 and user has a plan2613 contains is_auditor parameter2614 and user is not a trial user2615 contains plan and trial2616 and user is a trial user2617 contains plan and trial2618 and user has no plan2619 returns `nil` for both plan and trial2620 as a user2621 does not contain plan and trial info2622 does not contain is_auditor parameter2623 does not contain provisioned_by_group_id parameter2624 when not authenticated2625 does not contain plan and trial info2626Projects::Settings::OperationsController2627 GET show2628 with a license2629 with maintainer role2630 behaves like user with read access2631 renders ok2632 behaves like user with read access2633 renders ok2634 behaves like user with read access2635 renders ok2636 without maintainer role2637 behaves like user without read access2638 returns 4042639 behaves like user without read access2640 returns 4042641 behaves like user without read access2642 returns 4042643 behaves like user without read access2644 returns 4042645 behaves like user without read access2646 returns 4042647 behaves like user without read access2648 returns 4042649 behaves like user without read access2650 returns 4042651 behaves like user without read access2652 returns 4042653 behaves like user without read access2654 returns 4042655 when user not logged in2656 behaves like user without read access2657 returns 4042658 behaves like user needs to login2659 redirects for private project2660 behaves like user needs to login2661 redirects for private project2662 without license2663 behaves like user with read access2664 renders ok2665 behaves like user with read access2666 renders ok2667 behaves like user with read access2668 renders ok2669 PATCH update2670 with a license2671 with non maintainer roles2672 with guest role2673 behaves like user without write access2674 does not create status_page_setting2675 behaves like user without write access2676 does not create status_page_setting2677 behaves like user without write access2678 does not create status_page_setting2679 with reporter role2680 behaves like user without write access2681 does not create status_page_setting2682 behaves like user without write access2683 does not create status_page_setting2684 behaves like user without write access2685 does not create status_page_setting2686 with developer role2687 behaves like user without write access2688 does not create status_page_setting2689 behaves like user without write access2690 does not create status_page_setting2691 behaves like user without write access2692 does not create status_page_setting2693 with anonymous user2694 behaves like user without write access2695 does not create status_page_setting2696 behaves like user without write access2697 does not create status_page_setting2698 behaves like user without write access2699 does not create status_page_setting2700 without existing status page setting2701 is expected to be a kind of StatusPage::ProjectSetting(project_id: integer, created_at: datetime_with_timezone, updated_at: datet...ws_secret_key: string, encrypted_aws_secret_key_iv: string, status_page_url: text, aws_secret_key: )2702 with existing status page setting2703 updates the fields2704 respects the model validations2705 deletes the setting if keys removed2706 indident management settings2707 without existing incident management setting2708 is expected to be a kind of IncidentManagement::ProjectIncidentManagementSetting(project_id: integer, create_issue: boolean, send...ry, auto_close_incident: boolean, sla_timer: boolean, sla_timer_minutes: integer, pagerduty_token: )2709 behaves like can set the sla timer settings2710 updates the sla settings2711 with existing incident management setting2712 is expected to be a kind of IncidentManagement::ProjectIncidentManagementSetting(project_id: integer, create_issue: boolean, send...ry, auto_close_incident: boolean, sla_timer: boolean, sla_timer_minutes: integer, pagerduty_token: )2713 behaves like can set the sla timer settings2714 updates the sla settings2715 without a license2716 cannot update sla timer settings2717 behaves like user without write access2718 does not create status_page_setting2719 behaves like user without write access2720 does not create status_page_setting2721 behaves like user without write access2722 does not create status_page_setting2723SubscriptionsController2724 GET #new2725 for unauthenticated subscription request2726 is expected to respond with numeric status code redirect2727 is expected to redirect to "/users/sign_up?redirect_from=checkout"2728 stores subscription URL for later2729 with authenticated user2730 is expected to render template layouts/minimal2731 is expected to render template new2732 when there are groups eligible for the subscription2733 assigns the eligible groups for the subscription2734 and request specify which group to use2735 assign requested group2736 request does not specify namespace2737 falls back to users namespace2738 when there are no eligible groups for the subscription2739 assigns eligible groups as an empty array if CustomerDot returns empty payload2740 assigns eligible groups as an empty array if user is not owner of any groups2741 GET #buy_minutes2742 with authenticated user2743 when the add-on plan cannot be found2744 is expected to respond with numeric status code not_found2745 when there are groups eligible for the addon2746 is expected to render template layouts/minimal2747 is expected to render template buy_minutes2748 assigns the group for the addon2749 GET #buy_storage2750 with authenticated user2751 when the add-on plan cannot be found2752 is expected to respond with numeric status code not_found2753 when there are groups eligible for the addon2754 is expected to render template layouts/minimal2755 is expected to render template buy_storage2756 assigns the group for the addon2757 GET #payment_form2758 with unauthorized user2759 is expected to respond with numeric status code redirect2760 is expected to redirect to "/users/sign_in"2761 with authorized user2762 is expected to respond with numeric status code ok2763 returns the data attribute of the client response in JSON format2764 GET #payment_method2765 with unauthorized user2766 is expected to respond with numeric status code redirect2767 is expected to redirect to "/users/sign_in"2768 with authorized user2769 is expected to respond with numeric status code ok2770 returns the data attribute of the client response in JSON format2771 GET #validate_payment_method2772 with unauthorized user2773 is expected to respond with numeric status code unauthorized2774 with authorized user2775 is expected to respond with numeric status code ok2776 is expected to be successful2777 POST #create2778 with unauthorized user2779 is expected to respond with numeric status code unauthorized2780 with authorized user2781 when setting up for a company2782 updates the setup_for_company attribute of the current user2783 creates a group based on the company2784 when using a promo code2785 creates subscription using promo code2786 when not setting up for a company2787 does not update the setup_for_company attribute of the current user2788 creates a group based on the user2789 when an error occurs creating a group2790 returns the errors in json format2791 when invalid name is passed2792 returns the errors in json format2793 tracks errors2794 on successful creation of a subscription2795 is expected to respond with numeric status code ok2796 returns the group edit location in JSON format2797 on unsuccessful creation of a subscription2798 is expected to respond with numeric status code ok2799 returns the error message in JSON format2800 when selecting an existing group2801 when the selected group is eligible for a new subscription2802 does not create a group2803 returns the selected group location in JSON format2804 when having an explicit redirect2805 is expected to respond with numeric status code ok2806 returns the provided redirect path as location2807 tracks the creation of the subscriptions2808 purchasing an addon2809 tracks creation with add-on success message2810 when the selected group is ineligible for a new subscription2811 does not create a group2812 returns a 404 not found2813 when selected group is a sub group2814 is expected to respond with numeric status code not_found2815 when selecting a non existing group2816 is expected to respond with numeric status code not_found2817 when selecting a group without owner role2818 is expected to respond with numeric status code not_found2819getting an issue list at root level2820 # order random2821 behaves like graphql issue list request spec EE2822 sorting and pagination2823 when sorting by weight2824 when ascending2825 behaves like sorted paginated query2826 behaves like requires variables2827 shared example requires variables to be set2829 when sorting2830 sorts correctly2831 when paginating2832 paginates correctly2833 when descending2834 behaves like sorted paginated query2835 behaves like requires variables2836 shared example requires variables to be set2838 when sorting2839 sorts correctly2840 when paginating2841 paginates correctly2842 when sorting by published incident2843 when ascending2844 behaves like sorted paginated query2845 behaves like requires variables2846 shared example requires variables to be set2848 when sorting2849 sorts correctly2850 when paginating2851 paginates correctly2852 when descending2853 behaves like sorted paginated query2854 behaves like requires variables2855 shared example requires variables to be set2857 when sorting2858 sorts correctly2859 when paginating2860 paginates correctly2861 when sorting by sla due2862 when ascending2863 behaves like sorted paginated query2864 behaves like requires variables2865 shared example requires variables to be set2867 when sorting2868 sorts correctly2869 when paginating2870 paginates correctly2871 when descending2872 behaves like sorted paginated query2873 behaves like requires variables2874 shared example requires variables to be set2876 when sorting2877 sorts correctly2878 when paginating2879 paginates correctly2880 blocked2881 uses the LazyLinksAggregate service2882 returns the correct blocked count result2883 returns the correct blocked issue detail result2884 behaves like a working graphql query2885 returns a successful response2886 related_vulnerabilities2887 avoids N+1 queries2888 when fetching issues from multiple projects2889 when ip_restrictions feature is enabled2890 when check_namespace_plan setting is enabled2891 avoids N+1 queries2892Groups::ContributionAnalyticsController2893 #authorize_read_contribution_analytics!2894 when feature is available to the group2895 when user is an auditor2896 allows access2897 when user has access to the group2898 when user has access to the feature2899 renders 2002900 when user does not have access to the feature2901 renders 4042902 #check_contribution_analytics_available!2903 when feature is not available to the group2904 renders 4042905 with contributions2906 sets instance variables properly2907 returns member contributions JSON when format is JSON2908 includes projects in subgroups2909 excludes projects outside of the group2910 does not cause N+1 queries when the format is JSON2911 with views2912 avoids a N+1 query in #show2913 GET #show2914 behaves like disabled when using an external authorization service2915 works when the feature is not enabled2916 renders a 404 with a message when the feature is enabled2917 behaves like tracking unique visits2918 tracks unique visit if the format is HTML2919 tracks unique visit if DNT is not enabled2920 does not track unique visit if DNT is enabled2921 does not track unique visit if the format is JSON2922 behaves like Snowplow event tracking with RedisHLL context2923 behaves like Snowplow event tracking2924 is emitted2925API::GroupProtectedBranches2926 # order random2927 GET /groups/:id/protected_branches/:branch2928 when authenticated as a owner2929 behaves like protected branch2930 returns the protected branch2931 when protected branch does not exist2932 behaves like 404 response2933 returns 4042934 when protected branch contains a wildcard2935 behaves like protected branch2936 returns the protected branch2937 when protected branch does not exist2938 behaves like 404 response2939 returns 4042940 when protected branch contains a period2941 behaves like protected branch2942 returns the protected branch2943 when protected branch does not exist2944 behaves like 404 response2945 returns 4042946 when authenticated as a guest2947 behaves like 403 response2948 returns 4032949 DELETE /groups/:id/protected_branches/unprotect/:branch2950 unprotects a single branch2951 returns 404 if branch does not exist2952 when a policy restricts rule deletion2953 prevents deletion of the protected branch rule2954 when branch has a wildcard in its name2955 unprotects a wildcard branch2956 GET /groups/:id/protected_branches2957 when authenticated as a owner2958 when search param is not present2959 behaves like protected branches2960 returns the protected branches2961 when search param is present2962 behaves like protected branches2963 returns the protected branches2964 when authenticated as a guest2965 behaves like 403 response2966 returns 4032967 avoid N+1 sql queries2968 does not perform N+1 sql queries2969 POST /groups/:id/protected_branches2970 when authenticated as a owner2971 returns a 409 error if the same branch is protected twice2972 when protects by different params2973 allow_force_push: nil, push_access_level: nil, merge_access_level: nil2974 is expected to eq 402975 allow_force_push: nil, push_access_level: 30, merge_access_level: nil2976 is expected to eq 402977 allow_force_push: nil, push_access_level: nil, merge_access_level: 302978 is expected to eq 302979 allow_force_push: nil, push_access_level: 30, merge_access_level: 302980 is expected to eq 302981 allow_force_push: nil, push_access_level: 0, merge_access_level: nil2982 is expected to eq 402983 allow_force_push: nil, push_access_level: nil, merge_access_level: 02984 is expected to eq 02985 allow_force_push: nil, push_access_level: 0, merge_access_level: 02986 is expected to eq 02987 allow_force_push: true, push_access_level: nil, merge_access_level: nil2988 is expected to eq 402989 code_owner_approval_required2990 feature_available: false, param_value: false, result_value: false2991 is expected to eq false2992 feature_available: false, param_value: true, result_value: false2993 is expected to eq false2994 feature_available: true, param_value: false, result_value: false2995 is expected to eq false2996 feature_available: true, param_value: true, result_value: true2997 is expected to eq true2998 when branch has a wildcard in its name2999 protects multiple branches with a wildcard in the name3000 when a policy restricts rule creation3001 prevents creations of the protected branch rule3002 when protected branch is invalid3003 returns a 4223004 when authenticated as a guest3005 returns a 403 error if guest3006 PATCH /groups/:id/protected_branches/:name3007 when authenticated as a owner3008 updates a single branch3009 when returned protected branch is invalid3010 returns a 4223011 when authenticated as a guest3012 returns a 403 error3013API::EpicIssues3014 GET /groups/:id/epics/:epic_iid/issues3015 when epics feature is disabled3016 returns 403 forbidden error3017 when epics feature is enabled3018 when an error occurs3019 returns 401 unauthorized error for non authenticated user3020 returns 404 not found error for a user without permissions to see the group3021 when the request is correct3022 responds 200 and matches the response schema3023 accepts pagination params3024 returns multiple issues without performing N + 13025 returns multiple issues without performing N + 13026 POST /groups/:id/epics/:epic_iid/issues3027 when epics feature is disabled3028 returns 403 forbidden error3029 when epics feature is enabled3030 when an error occurs3031 returns 401 unauthorized error for non authenticated user3032 returns 404 not found error for a user without permissions to see the group3033 behaves like user with insufficient permissions3034 when user does not have admin_issue_relation permissions for issue3035 returns 403 forbidden error3036 without permissions to read the epic3037 returns 403 forbidden error3038 when issue project is not under the epic group3039 returns an error3040 when the request is correct3041 returns 201 status3042 matches the response schema3043 assigns the issue to the epic3044 DELETE /groups/:id/epics/:epic_iid/issues/:epic_issue_id"3045 when epics feature is disabled3046 returns 403 forbidden error3047 when epics feature is enabled3048 when an error occurs3049 returns 401 unauthorized error for non authenticated user3050 returns 404 not found error for a user without permissions to see the group3051 behaves like user with insufficient permissions3052 when user does not have admin_issue_relation permissions for issue3053 returns 403 forbidden error3054 without permissions to read the epic3055 returns 403 forbidden error3056 when epic_issue association does not include the epic in the url3057 returns 404 not found error3058 when the request is correct3059 returns 200 status3060 matches the response schema3061 removes the association3062 PUT /groups/:id/epics/:epic_iid/issues/:epic_issue_id3063 when epics feature is disabled3064 returns 403 forbidden error3065 when epics feature is enabled3066 when an error occurs3067 returns 401 unauthorized error for non authenticated user3068 returns 404 not found error for a user without permissions to see the group3069 returns 404 not found error for the link of another epic3070 with insufficient permissions3071 returns 403 forbidden error for a user who can not move the issue3072 when the request is correct3073 returns 200 status3074 updates the positions values3075 matches the response schema3076getting an issue list for a project3077 behaves like graphql issue list request spec EE3078 sorting and pagination3079 when sorting by weight3080 when ascending3081 behaves like sorted paginated query3082 behaves like requires variables3083 shared example requires variables to be set3085 when sorting3086 sorts correctly3087 when paginating3088 paginates correctly3089 when descending3090 behaves like sorted paginated query3091 behaves like requires variables3092 shared example requires variables to be set3094 when sorting3095 sorts correctly3096 when paginating3097 paginates correctly3098 when sorting by published incident3099 when ascending3100 behaves like sorted paginated query3101 behaves like requires variables3102 shared example requires variables to be set3104 when sorting3105 sorts correctly3106 when paginating3107 paginates correctly3108 when descending3109 behaves like sorted paginated query3110 behaves like requires variables3111 shared example requires variables to be set3113 when sorting3114 sorts correctly3115 when paginating3116 paginates correctly3117 when sorting by sla due3118 when ascending3119 behaves like sorted paginated query3120 behaves like requires variables3121 shared example requires variables to be set3123 when sorting3124 sorts correctly3125 when paginating3126 paginates correctly3127 when descending3128 behaves like sorted paginated query3129 behaves like requires variables3130 shared example requires variables to be set3132 when sorting3133 sorts correctly3134 when paginating3135 paginates correctly3136 blocked3137 uses the LazyLinksAggregate service3138 returns the correct blocked count result3139 returns the correct blocked issue detail result3140 behaves like a working graphql query3141 returns a successful response3142 related_vulnerabilities3143 avoids N+1 queries3144 filtered3145 by negated health status3146 only returns issues without the negated health status3147Projects::ProtectedEnvironmentsController3148 #POST create3149 with valid access and params3150 with valid params3151 creates a new ProtectedEnvironment3152 sets a flash3153 redirects to CI/CD settings3154 with invalid params3155 does not create a new ProtectedEnvironment3156 redirects to CI/CD settings3157 with invalid access3158 renders 4043159 #PUT update3160 when the user is authorized3161 finds the requested protected environment3162 updates the protected environment3163 is successful3164 when the user is not authorized3165 is not successful3166 #DELETE destroy3167 when the user is authorized3168 finds the requested protected environment3169 deletes the requested protected environment3170 redirects to CI/CD settings3171 when the user is not authorized3172 is not successful3173API::License3174 GET /license3175 retrieves the license information if admin is logged in3176 denies access if not admin3177 behaves like GET request permissions for admin mode3178 behaves like when admin3179 behaves like makes request3180 returns3181 behaves like makes request3182 returns3183 behaves like when user3184 returns3185 behaves like makes request3186 returns3187 POST /license3188 adds a new license if admin is logged in3189 denies access if not admin3190 returns 400 if the license cannot be saved3191 behaves like POST request permissions for admin mode3192 behaves like when admin3193 behaves like makes request3194 returns3195 behaves like makes request3196 returns3197 behaves like when user3198 returns3199 behaves like makes request3200 returns3201 DELETE /license/:id3202 returns an error if the license doesn't exist3203 returns 403 if the user is not an admin3204 behaves like license removal3205 destroys a license and returns 2043206 behaves like DELETE request permissions for admin mode3207 behaves like when admin3208 behaves like makes request3209 returns3210 behaves like makes request3211 returns3212 behaves like when user3213 returns3214 behaves like makes request3215 returns3216 with a cloud license3217 behaves like license removal3218 destroys a license and returns 2043219 GET /license/:id3220 gets a license by its id3221 returns an error if the license doesn't exist3222 returns 403 if the user is not an admin3223 behaves like GET request permissions for admin mode3224 behaves like when admin3225 behaves like makes request3226 returns3227 behaves like makes request3228 returns3229 behaves like when user3230 returns3231 behaves like makes request3232 returns3233 PUT /license/:id/refresh_billable_users3234 behaves like PUT request permissions for admin mode3235 behaves like when admin3236 behaves like makes request3237 returns3238 behaves like makes request3239 returns3240 behaves like when user3241 returns3242 behaves like makes request3243 returns3244 when user is an admin3245 schedules a refresh of billable_users3246 when license doesn't exist3247 returns 4043248 when user is not an admin3249 returns 4033250 when user is unavailable3251 returns 4013252 GET /licenses3253 returns a collection of licenses3254 returns an empty array if no licenses exist3255 returns 403 if the user is not an admin3256 behaves like GET request permissions for admin mode3257 behaves like when admin3258 behaves like makes request3259 returns3260 behaves like makes request3261 returns3262 behaves like when user3263 returns3264 behaves like makes request3265 returns3266API::Boards3267 behaves like multiple and scoped issue boards3268 multiple issue boards3269 POST /projects/:id/boards3270 creates a board3271 PUT /projects/:id/boards/:board_id3272 updates a board3273 does not remove missing attributes from the board3274 allows removing optional attributes3275 DELETE /projects/:id/boards/:board_id3276 deletes a board3277 with the scoped_issue_board-feature available3278 returns the milestone when the `scoped_issue_board` feature is enabled3279 hides the milestone when the `scoped_issue_board` feature is disabled3280 POST /projects/:id/boards/:board_id/lists3281 behaves like milestone board list3282 when milestone_id is sent3283 returns 400 if milestone is not found3284 returns 400 if milestone list feature is not available3285 creates a milestone list if milestone is found3286 behaves like assignee board list3287 when assignee_id is sent3288 returns 400 if user is not found3289 returns 400 if assignee list feature is not available3290 creates an assignee list if user is found3291 behaves like iteration board list3292 when iteration_id is sent3293 returns 400 if iteration is not found3294 returns 400 if not licensed3295 creates an iteration list if iteration is found3296 GET /projects/:id/boards/:board_id with special milestones3297 returns board with Upcoming milestone3298 returns board with Started milestone3299 GET /projects/:id/boards/:board_id/lists with max_issue_count3300 with WIP limits license3301 includes max_issue_count3302 includes max_issue_weight3303 includes limit_metric3304 without WIP limits license3305 does not include max_issue_weight3306 does not include max_issue_count3307 does not include limit_metric3308Projects::Security::VulnerabilitiesController3309 GET #new3310 checks if the user can create a vulnerability3311 behaves like security and compliance disabled3312 is expected to respond with numeric status code not_found3313 when user can admin vulnerability3314 renders the add new finding page3315 when user can not admin vulnerability3316 renders 404 page not found3317 GET #show3318 behaves like security and compliance disabled3319 is expected to respond with numeric status code not_found3320 when there's an attached pipeline3321 renders the vulnerability page3322 renders the vulnerability component3323 when there's no attached pipeline3324 renders the vulnerability page3325 GET #discussions3326 renders discussions3327 behaves like security and compliance disabled3328 is expected to respond with numeric status code not_found3329Groups::Analytics::ProductivityAnalyticsController3330 usage counter3331 increments usage counter3332 doesn't increment the usage counter when JSON request is sent3333 GET show3334 when user is not authorized to view productivity analytics3335 renders 403, forbidden error3336 when feature is not licensed3337 renders forbidden error3338 when the feature is licensed3339 behaves like tracking unique visits3340 tracks unique visit if the format is HTML3341 tracks unique visit if DNT is not enabled3342 does not track unique visit if DNT is enabled3343 does not track unique visit if the format is JSON3344 behaves like Snowplow event tracking with RedisHLL context3345 behaves like Snowplow event tracking3346 is emitted3347 when user is an auditor3348 allows access3349 GET show.json3350 when feature is not licensed3351 renders forbidden error3352 when invalid params are given3353 returns 422, unprocessable_entity3354 without group_id specified3355 renders 403, forbidden3356 with non-existing group_id3357 renders 404, not_found3358 with non-existing project_id3359 renders 404, not_found3360 with group specified3361 for list of MRs3362 serializes whatever analytics returns with ProductivityAnalyticsMergeRequestEntity3363 sets pagination headers3364 when project from a sub-group is requested3365 succeeds3366 for scatterplot charts3367 renders whatever analytics returns for scatterplot3368 for histogram charts3369 renders whatever analytics returns for histogram3370Projects::OnDemandScansController3371 GET #index3372 behaves like on-demand scans page3373 when the "Security and Compliance" feature is disabled3374 is expected to respond with numeric status code not_found3375 feature available3376 user authorized3377 can access page3378 user not authorized3379 sees a 404 error3380 feature not available3381 sees a 404 error if the license doesn't support the feature3382 GET #new3383 user has auditor role3384 sees a 404 error3385 behaves like on-demand scans page3386 when the "Security and Compliance" feature is disabled3387 is expected to respond with numeric status code not_found3388 feature available3389 user authorized3390 can access page3391 user not authorized3392 sees a 404 error3393 feature not available3394 sees a 404 error if the license doesn't support the feature3395 GET #edit3396 behaves like on-demand scans page3397 when the "Security and Compliance" feature is disabled3398 is expected to respond with numeric status code not_found3399 feature available3400 user authorized3401 can access page3402 user not authorized3403 sees a 404 error3404 feature not available3405 sees a 404 error if the license doesn't support the feature3406 feature available and user can access page3407 dast_profile exists in the database3408 includes a serialized dast_profile in the response body3409 dast_profile does not exist in the database3410 sees a 404 error3411 user has auditor role3412 sees a 404 error3413API::ProjectClusters3414 POST /projects/:id/clusters/user3415 when user sets specific environment scope3416 creates a cluster with that specific environment3417 when does not set an specific environment scope3418 sets default environment3419 when another cluster exists3420 responds with 2013421 allows multiple clusters to be associated to project3422 PUT /projects/:id/clusters/:cluster_id3423 With a GCP cluster3424 updates the environment scope3425 With an user cluster3426 updates the environment scope3427Projects::PathLocksController3428 GET #index3429 displays the lock paths3430 when the user does not have access3431 does not allow access3432 POST #toggle3433 when LFS is enabled3434 when locking a file3435 locks the file3436 locks the file in LFS3437 tries to create the PathLock only once3438 when locking a directory3439 locks the directory3440 does not locks the directory through LFS3441 when file does not exist3442 locks the file3443 does not lock the file in LFS3444 when unlocking a file3445 with files3446 unlocks the file3447 unlocks the file in LFS3448 when file does not exist3449 unlocks the file3450 does not unlock the file in LFS3451 when unlocking a directory3452 unlocks the directory3453 does not call the LFS unlock service3454 when LFS is not enabled3455 locks the file3456 doesn't lock the file in LFS3457 unlocks the file3458 when the user does not have access3459 does not allow access3460Updating an Iteration3461 when the user does not have permission3462 does not update iteration3463 behaves like a mutation that returns a top-level access error3464 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"3465 when the user has permission3466 when iterations are disabled3467 behaves like a mutation that returns top-level errors3468 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"3469 when iterations are enabled3470 updates the iteration3471 when updating attributes on an automatic cadence3472 when updating deprecated attributes3473 argument: :title, argument_value: "updated title"3474 behaves like a mutation that returns top-level errors3475 is expected to contain exactly "Manual iteration updates are deprecated, only `description` updates will be allowed in the future"3476 argument: :start_date, argument_value: "2023-05-12"3477 behaves like a mutation that returns top-level errors3478 is expected to contain exactly "Manual iteration updates are deprecated, only `description` updates will be allowed in the future"3479 argument: :due_date, argument_value: "2023-05-26"3480 behaves like a mutation that returns top-level errors3481 is expected to contain exactly "Manual iteration updates are deprecated, only `description` updates will be allowed in the future"3482 when updating description3483 allows updating the description of an iteration3484 when updating title3485 title_before: nil, title_after: "abc", expected_title: "abc"3486 updates an iteration3487 title_before: "abc", title_after: "def", expected_title: "def"3488 updates an iteration3489 when updating dates3490 updates the iteration with date in the past3491 when another iteration with given dates overlap3492 behaves like a mutation that returns errors in the response3493 is expected to contain exactly "Dates cannot overlap with other existing Iterations within this iterations cadence"3494 when given a raw model id (backward compatibility)3495 updates the iteration3496 when the list of attributes is empty3497 does not update the iteration3498 behaves like a mutation that returns top-level errors3499 is expected to contain exactly "The list of iteration attributes is empty"3500SmartcardController3501 #auth3502 with smartcard_auth enabled3503 redirects to extract certificate3504 with provider param3505 forwards the provider param3506 with smartcard_auth disabled3507 renders 4043508 #extract_certificate3509 with smartcard_auth enabled3510 redirects to verify certificate3511 with provider param3512 forwards the provider param3513 missing NGINX client certificate header3514 renders unauthorized3515 request from different host / port3516 renders 4043517 with smartcard_auth disabled3518 renders 4043519 #verify_certificate3520 Smartcard::Certificate3521 behaves like a client certificate authentication3522 with smartcard_auth enabled3523 allows sign in3524 redirects to root3525 logs audit event3526 stores active session3527 user does not exist3528 signup allowed3529 creates user3530 signup disabled3531 renders 4013532 missing client certificate param3533 renders unauthorized3534 with smartcard_auth disabled3535 renders 4043536 user already exists3537 finds existing user3538 certificate header formats from NGINX3539 escaped format3540 behaves like valid certificate header3541 authenticates user3542 deprecated format3543 behaves like valid certificate header3544 authenticates user3545 Smartcard::LdapCertificate3546 sets correct parameters for LDAP search3547 behaves like a client certificate authentication3548 with smartcard_auth enabled3549 allows sign in3550 redirects to root3551 logs audit event3552 stores active session3553 user does not exist3554 signup allowed3555 creates user3556 signup disabled3557 renders 4013558 missing client certificate param3559 renders unauthorized3560 with smartcard_auth disabled3561 renders 4043562 user already exists3563 finds existing user3564 user has a different identity3565 doesn't login a user3566 doesn't create a new user entry either3567Query.project(fullPath)3568 # order random3569 with trackingKey3570 licensed: true, enabled: true, user_role: :developer, jitsu_key: "key", output: "key"3571 is expected to eq "key"3572 licensed: true, enabled: false, user_role: :developer, jitsu_key: "key", output: nil3573 is expected to eq nil3574 licensed: false, enabled: true, user_role: :developer, jitsu_key: "key", output: nil3575 is expected to eq nil3576 licensed: false, enabled: false, user_role: :developer, jitsu_key: "key", output: nil3577 is expected to eq nil3578 licensed: true, enabled: true, user_role: :maintainer, jitsu_key: "key", output: "key"3579 is expected to eq "key"3580 licensed: true, enabled: false, user_role: :maintainer, jitsu_key: "key", output: nil3581 is expected to eq nil3582 licensed: false, enabled: true, user_role: :maintainer, jitsu_key: "key", output: nil3583 is expected to eq nil3584 licensed: false, enabled: false, user_role: :maintainer, jitsu_key: "key", output: nil3585 is expected to eq nil3586 licensed: true, enabled: true, user_role: :owner, jitsu_key: "key", output: "key"3587 is expected to eq "key"3588 licensed: true, enabled: false, user_role: :owner, jitsu_key: "key", output: nil3589 is expected to eq nil3590 licensed: false, enabled: true, user_role: :owner, jitsu_key: "key", output: nil3591 is expected to eq nil3592 licensed: false, enabled: false, user_role: :owner, jitsu_key: "key", output: nil3593 is expected to eq nil3594 licensed: true, enabled: true, user_role: :guest, jitsu_key: "key", output: nil3595 is expected to eq nil3596 licensed: true, enabled: false, user_role: :guest, jitsu_key: "key", output: nil3597 is expected to eq nil3598 licensed: false, enabled: true, user_role: :guest, jitsu_key: "key", output: nil3599 is expected to eq nil3600 licensed: false, enabled: false, user_role: :guest, jitsu_key: "key", output: nil3601 is expected to eq nil3602 with productAnalyticsState3603 will pass through Cube API errors3604 will query state when Cube DB does not exist3605 will pass through Cube API connection errors3606 behaves like queries state successfully3607 will query state correctly3608 with snowplow enabled3609 behaves like queries state successfully3610 will query state correctly3611Projects::Analytics::DashboardsController3612 # order random3613 GET /:namespace/:project/-/analytics/dashboards3614 with the feature flag disabled3615 behaves like returns not found3616 returns 404 response3617 does not increment counter3618 with the feature flag enabled3619 without the licensed feature3620 behaves like returns not found3621 returns 404 response3622 does not increment counter3623 with the licensed feature3624 does not count views for the dashboard listing3625 access_level: nil, example_to_run: "returns not found"3626 behaves like returns not found3627 returns 404 response3628 does not increment counter3629 access_level: :reporter, example_to_run: "returns success"3630 behaves like returns success3631 returns 200 response3632 increments counter3633 access_level: :developer, example_to_run: "returns success"3634 behaves like returns success3635 returns 200 response3636 increments counter3637 access_level: :maintainer, example_to_run: "returns success"3638 behaves like returns success3639 returns 200 response3640 increments counter3641Create an instance external audit event destination3642 # order random3643 when feature is unlicensed3644 when feature flag ff_external_audit_events is enabled3645 behaves like a mutation that does not create a destination3646 does not create the destination3647 behaves like a mutation that returns top-level errors3648 is expected to contain exactly "You do not have access to this mutation."3649 behaves like a mutation that does not create a destination3650 does not create the destination3651 behaves like a mutation that returns top-level errors3652 is expected to contain exactly "You do not have access to this mutation."3653 when feature flag ff_external_audit_events is disabled3654 behaves like a mutation that does not create a destination3655 does not create the destination3656 behaves like a mutation that returns top-level errors3657 is expected to contain exactly "You do not have access to this mutation."3658 behaves like a mutation that does not create a destination3659 does not create the destination3660 behaves like a mutation that returns top-level errors3661 is expected to contain exactly "You do not have access to this mutation."3662 when feature is licensed3663 when user is instance admin3664 when feature flag ff_external_audit_events is enabled3665 creates the destination3666 when destination is invalid3667 returns correct errors3668 when feature flag ff_external_audit_events is disabled3669 behaves like a mutation that does not create a destination3670 does not create the destination3671 behaves like a mutation that returns top-level errors3672 is expected to contain exactly "You do not have access to this mutation."3673 when current user is not instance admin3674 behaves like a mutation that does not create a destination3675 does not create the destination3676 behaves like a mutation that returns top-level errors3677 is expected to contain exactly "You do not have access to this mutation."3678Projects::DeployKeysController3679 POST create3680 records an audit event3681 when the account has configured ssh key expiry3682 shows an alert with the validation error3683 /enable/:id3684 with user with permission3685 records an audit event3686 returns 4043687 /disable/:id3688 with admin3689 records an audit event3690API::ProjectImport3691 POST /projects/import3692DEPRECATION WARNING: Using `return`, `break` or `throw` to exit a transaction block is3693deprecated without replacement. If the `throw` came from3694`Timeout.timeout(duration)`, pass an exception class as a second3695argument so it doesn't use `throw` to abort its block. This results3696in the transaction being committed, but in the next release of Rails3697it will rollback.3698 (called from public_send at /builds/gitlab-org/gitlab/lib/gitlab/database/load_balancing/connection_proxy.rb:127)3699 overrides the classification label3700 feature is disabled3701DEPRECATION WARNING: Using `return`, `break` or `throw` to exit a transaction block is3702deprecated without replacement. If the `throw` came from3703`Timeout.timeout(duration)`, pass an exception class as a second3704argument so it doesn't use `throw` to abort its block. This results3705in the transaction being committed, but in the next release of Rails3706it will rollback.3707 (called from public_send at /builds/gitlab-org/gitlab/lib/gitlab/database/load_balancing/connection_proxy.rb:127)3708 uses the default the classification label and ignores override param3709Creating a DAST Site Profile3710 behaves like an on-demand scan mutation when user cannot run an on-demand scan3711 when a user does not have access to the project3712 behaves like a mutation that returns a top-level access error3713 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"3714 when a user does not have access to run a dast scan on the project3715 behaves like a mutation that returns a top-level access error3716 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"3717 behaves like an on-demand scan mutation when user can run an on-demand scan3718 returns an empty errors array3719 updates the dast_site_profile3720 when on demand scan licensed feature is not available3721 behaves like a mutation that returns a top-level access error3722 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"3723 when there is a validation error3724 behaves like a mutation that returns errors in the response3725 is expected to contain exactly "There was a validation error"3726 when the dast_site_profile does not exist3727 behaves like a mutation that returns top-level errors3728 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"3729 when wrong type of global id is passed3730 behaves like a mutation that returns top-level errors3731 is expected to eq ["Variable $dastSiteProfileUpdateInput of type DastSiteProfileUpdateInput! was provided invalid value for id (\"gid://gitlab/Project/264\" does not represent an instance of DastSiteProfile)"]3732Getting children of an epic3733 # order random3734 when epics are enabled3735 returns children from authorized groups3736 when user has access to all children groups3737 returns all children3738 executes limited number of N+1 queries3739 when include_ancestor_groups is `false`3740 excludes children from ancestor groups3741 when include_descendant_groups is `false`3742 excludes children from descendant groups3743 when include_descendant_groups and include_ancestor_groups are `false`3744 excludes children from descendant and ancestor groups3745 when epics are disabled3746 does not find the epic children3747Query.gitlabSubscriptionsPreviewBillableUserChange3748 # order random3749 with group query3750 behaves like preview billable user change3751 when project_or_group does not exist3752 returns nil3753 when project_or_group exists3754 when current_user has access to project_or_group3755 with add_group_id3756 returns successfully3757 with add_user_emails3758 returns successfully3759 with add_user_ids3760 returns successfully3761 when missing all add_* arguments3762 returns error3763 when current_user does not have access to project_or_group3764 returns error3765 with project query3766 behaves like preview billable user change3767 when project_or_group does not exist3768 returns nil3769 when project_or_group exists3770 when current_user has access to project_or_group3771 with add_group_id3772 returns successfully3773 with add_user_emails3774 returns successfully3775 with add_user_ids3776 returns successfully3777 when missing all add_* arguments3778 returns error3779 when current_user does not have access to project_or_group3780 returns error3781API::Analytics::CodeReviewAnalytics3782 GET code_review3783 is successful3784 with merge requests present3785 returns list of open MRs with pagination headers3786 with label & milestone filters3787 applies filter3788 with negation filters3789 applies filter3790 with any label filter present3791 applies filter3792 when user has no authorization3793 is not authorized3794 when feature is not available in plan3795 is not_authorized3796 when project_id is not specified3797 is not found3798Mutations::Boards::Epics::Create3799 when the user does not have permission3800 behaves like a mutation that returns a top-level access error3801 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"3802 behaves like does not create an epic3803 is expected not to change `Board.count`3804 when the user has permission3805 when all arguments are given3806 when everything is ok3807 creates the epic3808 returns the created epic3809 when arguments are nil resulting in a top level error3810 behaves like does not create an epic3811 is expected not to change `Board.count`3812 behaves like a mutation that returns top-level errors3813 is expected to include /boardId \(Expected value to not be null\)/3814 when argument is blank resulting in an ActiveRecord error3815 returns an error3816 behaves like does not create an epic3817 is expected not to change `Board.count`3818 when arguments are missing3819 behaves like a mutation that returns top-level errors3820 is expected to include /boardId \(Expected value to not be null\)/3821 behaves like does not create an epic3822 is expected not to change `Board.count`3823Groups::IterationsController3824 index3825 iteration_license_available: false, role: :developer3826 behaves like returning response status3827 returns not_found3828 iteration_license_available: true, role: :none3829 behaves like returning response status3830 returns not_found3831 iteration_license_available: true, role: :guest3832 redirects to the group iteration cadence index path3833 iteration_license_available: true, role: :developer3834 redirects to the group iteration cadence index path3835 show3836 iteration_license_available: false, role: :developer, requested_iteration: lazy { iteration }3837 behaves like returning response status3838 returns not_found3839 iteration_license_available: true, role: :none, requested_iteration: lazy { iteration }3840 behaves like returning response status3841 returns not_found3842 iteration_license_available: true, role: :guest, requested_iteration: lazy { other_iteration }3843 behaves like returning response status3844 returns not_found3845 when current user can view the requested iteration3846 iteration_license_available: true, role: :guest3847 redirects to the corresponding iteration cadence path3848 iteration_license_available: true, role: :developer3849 redirects to the corresponding iteration cadence path3850 new3851 iteration_license_available: false, role: :developer3852 behaves like returning response status3853 returns not_found3854 iteration_license_available: true, role: :none3855 behaves like returning response status3856 returns not_found3857 iteration_license_available: true, role: :guest3858 behaves like returning response status3859 returns not_found3860 when role is developer3861 redirects to the group iteration cadence index path3862 edit3863 iteration_license_available: false, role: :developer, requested_iteration: lazy { iteration }3864 behaves like returning response status3865 returns not_found3866 iteration_license_available: true, role: :none, requested_iteration: lazy { iteration }3867 behaves like returning response status3868 returns not_found3869 iteration_license_available: true, role: :guest, requested_iteration: lazy { iteration }3870 behaves like returning response status3871 returns not_found3872 iteration_license_available: true, role: :developer, requested_iteration: lazy { other_iteration }3873 behaves like returning response status3874 returns not_found3875 when role is developer and can edit the requested iteration3876 redirects to the corresponding iteration cadence path3877Update an external audit event destination header3878 when feature is licensed3879 when current user is a group owner3880 updates the header with the correct attributes3881 when the header attributes are invalid3882 returns correct errors3883 returns the unmutated attribute values3884 behaves like a mutation that does not update a header3885 does not update a header key3886 does not update a header value3887 when current user is a group maintainer3888 behaves like a mutation that does not update a header3889 does not update a header key3890 does not update a header value3891 when current user is a group developer3892 behaves like a mutation that does not update a header3893 does not update a header key3894 does not update a header value3895 when current user is a group guest3896 behaves like a mutation that does not update a header3897 does not update a header key3898 does not update a header value3899 when feature is unlicensed3900 behaves like a mutation on an unauthorized resource3901 behaves like a mutation that returns top-level errors3902 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"3903 behaves like a mutation that does not update a header3904 does not update a header key3905 does not update a header value3906getting a list of external audit event destinations for the instance3907 # order random3908 when user is authenticated3909 when feature is licensed3910 when user is instance admin3911 when feature flag ff_external_audit_events is enabled3912 returns the instance external audit event destinations3913 when feature flag ff_external_audit_events is disabled3914 behaves like a request that returns no destinations3915 returns no destinations3916 when user is not instance admin3917 when feature flag ff_external_audit_events is enabled3918 behaves like a request that returns no destinations3919 returns no destinations3920 when feature flag ff_external_audit_events is disabled3921 behaves like a request that returns no destinations3922 returns no destinations3923 when feature is not licensed3924 when user is instance admin3925 behaves like a request that returns no destinations3926 returns no destinations3927 when user is not instance admin3928 behaves like a request that returns no destinations3929 returns no destinations3930 when user is not authenticated3931 when feature is licensed3932 behaves like a request that returns no destinations3933 returns no destinations3934 when feature is not licensed3935 behaves like a request that returns no destinations3936 returns no destinations3937CiMinutesUsageMailer3938 #notify3939 when it is a group3940 behaves like mail format3941 is expected to have subject of "Action required: There are no remaining Pipeline minutes for group190"3942 is expected to be bcc'd to ["bob@example.com", "john@example.com"]3943 is expected to have body including "/group192"3944 is expected to have body including "has run out of Shared Runner Pipeline minutes"3945 is expected to have body including "http://localhost/-/subscriptions/buy_minutes?selected_group=1676"3946 when it is a namespace3947 behaves like mail format3948 is expected to have subject of "Action required: There are no remaining Pipeline minutes for Sidney Jones1297"3949 is expected to be bcc'd to ["bob@example.com", "john@example.com"]3950 is expected to have body including "/namespace264"3951 is expected to have body including "has run out of Shared Runner Pipeline minutes"3952 is expected to have body including "http://localhost/-/subscriptions/buy_minutes?selected_group=1681"3953 #notify_limit3954 when it is a group3955 behaves like mail format3956 is expected to have subject of "Action required: Less than 30% of Pipeline minutes remain for group195"3957 is expected to be bcc'd to ["bob@example.com", "john@example.com"]3958 is expected to have body including "/group197"3959 is expected to have body including "has 30% or less Shared Runner Pipeline minutes"3960 is expected to have body including "http://localhost/-/subscriptions/buy_minutes?selected_group=1686"3961 when it is a namespace3962 behaves like mail format3963 is expected to have subject of "Action required: Less than 30% of Pipeline minutes remain for Sidney Jones1302"3964 is expected to be bcc'd to ["bob@example.com", "john@example.com"]3965 is expected to have body including "/namespace269"3966 is expected to have body including "has 30% or less Shared Runner Pipeline minutes"3967 is expected to have body including "http://localhost/-/subscriptions/buy_minutes?selected_group=1691"3968API::Experiments3969 GET /experiments3970 when on .com3971 returns a 401 for anonymous users3972 returns a 403 for users3973 returns a 403 for non human users3974 for gitlab team members3975 returns the feature flag details3976 understands the state of the feature flag and what that means for an experiment3977 the null_hypothesis as a canary3978 runs and tracks the expected events3979 returns a 400 if experimentation seems broken3980 publishes into a collection of experiments that have been run in the request3981 when not .com3982 returns a 403 for users3983Projects::Security::ApiFuzzingConfigurationController3984 when the "Security and Compliance" feature is disabled3985 is expected to respond with numeric status code not_found3986 GET #show3987 behaves like SecurityDashboardsPermissions3988 access for all actions3989 when security dashboard feature is disabled3990 returns 4043991 when security dashboard feature is enabled3992 when user has guest access3993 denies access3994 when user has developer access3995 grants access3996 with authorized user3997 renders the show template3998 renders the side navigation with the correct submenu set as active3999 with unauthorized user4000 returns a 4034001buildForecast4002 # order random4003 when forecast is too weak4004 returns no values4005 when forecast has invalid input4006 returns an error4007 when forecast is good enough4008 returns forecast values4009 when forecast context does not exist4010 returns an error4011Rack Attack EE throttles4012 requests to prometheus alert notify endpoint with oauth token4013 behaves like incident management rate limiting4014 limits set4015 when the throttle is enabled4016 rejects requests over the rate limit4017 allows requests after throttling and then waiting for the next period4018 when the throttle is disabled4019 allows requests over the rate limit4020 requests to generic alert notify endpoint with oauth token4021 behaves like incident management rate limiting4022 limits set4023 when the throttle is enabled4024 rejects requests over the rate limit4025 allows requests after throttling and then waiting for the next period4026 when the throttle is disabled4027 allows requests over the rate limit4028 requests to AlertManagement::HttpIntegration notify endpoint with oauth token4029 behaves like incident management rate limiting4030 limits set4031 when the throttle is enabled4032 rejects requests over the rate limit4033 allows requests after throttling and then waiting for the next period4034 when the throttle is disabled4035 allows requests over the rate limit4036Admin::ProjectsController4037 GET /projects/:id4038DEPRECATION WARNING: Setting a slot with `#body` is deprecated and will be removed from ViewComponent 3.0.0 (use `#with_body` to set the slot instead) (called from call at /builds/gitlab-org/gitlab/app/components/pajamas/alert_component.html.haml:13)4039DEPRECATION WARNING: Setting a slot with `#actions` is deprecated and will be removed from ViewComponent 3.0.0 (use `#with_actions` to set the slot instead) (called from call at /builds/gitlab-org/gitlab/app/components/pajamas/alert_component.html.haml:13)4040 includes Geo Status widget partial4041 when Geo is enabled and is a secondary node4042DEPRECATION WARNING: Setting a slot with `#body` is deprecated and will be removed from ViewComponent 3.0.0 (use `#with_body` to set the slot instead) (called from call at /builds/gitlab-org/gitlab/app/components/pajamas/alert_component.html.haml:13)4043DEPRECATION WARNING: Setting a slot with `#actions` is deprecated and will be removed from ViewComponent 3.0.0 (use `#with_actions` to set the slot instead) (called from call at /builds/gitlab-org/gitlab/app/components/pajamas/alert_component.html.haml:13)4044 renders Geo Status widget4045DEPRECATION WARNING: Setting a slot with `#body` is deprecated and will be removed from ViewComponent 3.0.0 (use `#with_body` to set the slot instead) (called from call at /builds/gitlab-org/gitlab/app/components/pajamas/alert_component.html.haml:13)4046DEPRECATION WARNING: Setting a slot with `#actions` is deprecated and will be removed from ViewComponent 3.0.0 (use `#with_actions` to set the slot instead) (called from call at /builds/gitlab-org/gitlab/app/components/pajamas/alert_component.html.haml:13)4047 displays a different read-only message based on skip_readonly_message4048 without Geo enabled4049DEPRECATION WARNING: Setting a slot with `#body` is deprecated and will be removed from ViewComponent 3.0.0 (use `#with_body` to set the slot instead) (called from call at /builds/gitlab-org/gitlab/app/components/pajamas/alert_component.html.haml:13)4050DEPRECATION WARNING: Setting a slot with `#actions` is deprecated and will be removed from ViewComponent 3.0.0 (use `#with_actions` to set the slot instead) (called from call at /builds/gitlab-org/gitlab/app/components/pajamas/alert_component.html.haml:13)4051 doesnt render Geo Status widget4052API::Ci::Variables4053 POST /projects/:id/variables4054 logs audit event4055 logs variable creation4056 PUT /projects/:id/variables/:key4057 logs audit event4058 logs variable protection update4059 DELETE /projects/:id/variables/:key4060 logs audit event4061 logs variable destruction4062Projects::Analytics::MergeRequestAnalyticsController4063 GET #show4064 is expected to be successful4065 behaves like tracking unique visits4066 tracks unique visit if the format is HTML4067 tracks unique visit if DNT is not enabled4068 does not track unique visit if DNT is enabled4069 does not track unique visit if the format is JSON4070 behaves like Snowplow event tracking with RedisHLL context4071 behaves like Snowplow event tracking4072 is emitted4073 when license is missing4074 is expected to respond with numeric status code not_found4075 when the user has no access to the group4076 is expected to respond with numeric status code not_found4077 when requesting HTML4078 renders the side navigation with the correct submenu set as active4079API::Analytics::ProjectDeploymentFrequency4080 when user has access to the project4081 returns `ok`4082 with params: from 2017 to 20194083 returns `bad_request` with expected message4084 with params: from 2019 to 20174085 returns `bad_request` with expected message4086 with params: from 2020/04/02 to request time4087 returns the expected deployment frequencies4088 with params: from 2020/02/01 to 2020/04/01 by all4089 returns the expected deployment frequencies4090 with params: from 2020/02/01 to 2020/04/01 by month4091 returns the expected deployment frequencies4092 with params: from 2020/02/01 to 2020/04/01 by day4093 returns the expected deployment frequencies4094 with params: invalid interval4095 returns `bad_request`4096 with params: missing from4097 returns `bad_request`4098 when user does not have access to the project4099 returns `not_found`4100 when feature is not available in plan4101 when user has access to the project4102 returns `forbidden`4103 when user does not have access to the project4104 returns `not_found`4105Repositories::GitHttpController4106 when repository container is a group wiki4107 behaves like Repositories::GitHttpController4108 HEAD #info_refs4109 returns 4034110 GET #info_refs4111 returns 401 for unauthenticated requests to public repositories when http protocol is disabled4112 calls the right access checker class with the right object4113 with authorized user4114 returns 2004115 adds user info to the logs4116 POST #git_upload_pack4117 returns 2004118 when JWT token is not provided4119 returns 4034120 git audit streaming event4121 behaves like sends git audit streaming event4122 for public groups and projects4123 when user not logged in4124 sends the audit streaming event4125 for private groups and projects4126 when user logged in4127 sends the audit streaming event4128Projects::BranchesController4129 GET #index4130 for mirrored projects with diverged branch4131 renders the diverged from upstream partial4132Mutations::Boards::Create4133 behaves like boards create mutation4134 when the user does not have permission4135 does not create the board4136 behaves like a mutation that returns a top-level access error4137 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"4138 when the user has permission4139 when the parent (project_path or group_path) param is given4140 when everything is ok4141 creates the board4142 returns the created board4143 when hide_backlog_list parameter is true4144 returns the board with correct hide_backlog_list field4145 when hide_closed_list parameter is true4146 returns the board with correct hide_closed_list field4147 when the Boards::CreateService returns an error response4148 does not create a board4149 returns an error4150 when neither project_path nor group_path param is given4151 does not create the board4152 behaves like a mutation that returns top-level errors4153 is expected to contain exactly "Exactly one of group_path or project_path arguments is required"4154 when the user has permission to create a board4155 sets cadence_id on creation4156Query.project(fullPath).dastProfiles.dastProfileSchedule4157 when a user does not have access to the project4158 returns a null project4159 when a user does not have access to dast_profile4160 returns an empty dast_profile4161 when a user has access to dast_profile_schedule4162 returns a dast_profile_schedule4163 behaves like query dastProfiles.dastProfileSchedule shared examples4164 avoids N+1 queries4165Bulk update issues4166 # order random4167 when user can update all issues4168 updates all issues4169 when setting arguments to null or none4170 updates all issues4171 when scoping to a parent group4172 when group_bulk_edit feature is available4173 updates all issues4174 when current user cannot read the specified group4175 returns a resource not found error4176 when group_bulk_edit feature is not available4177 returns a resource not available message4178Projects::Quality::TestCasesController4179 GET4180 #index4181 behaves like test case action4182 with authorized user4183 when feature is available4184 renders the template4185 when feature is not available4186 returns 4044187 with unauthorized user4188 when feature is available4189 returns 4044190 with anonymous user4191 returns 3024192 #new4193 behaves like test case action4194 with authorized user4195 when feature is available4196 renders the template4197 when feature is not available4198 returns 4044199 with unauthorized user4200 when feature is available4201 returns 4044202 with anonymous user4203 returns 3024204 #show4205 behaves like test case action4206 with authorized user4207 when feature is available4208 renders the template4209 when feature is not available4210 returns 4044211 with unauthorized user4212 when feature is available4213 returns 4044214 with anonymous user4215 returns 3024216 when feature is enabled and user has access4217 assigns test case related variables4218 when test case is not found4219 returns 4044220CredentialsInventoryMailer4221 #personal_access_token_revoked_email4222 is expected to have subject of "Your Personal Access Token was revoked"4223 is expected to have body including "The following Personal Access Token was revoked by an administrator, Revoker"4224 is expected to have body including "PAT 910"4225 is expected to have body including "Created on May 19, 2023"4226 is expected to have body including "Scopes: api, sudo"4227 is expected to be delivered to ["user1408@example.org"]4228 is expected to have body including "Last used 21 days ago"4229 #ssh_key_deleted_email4230 is expected to have subject of "Your SSH key was deleted"4231 is expected to have body including "The following SSH key was deleted by an administrator, Revoker"4232 is expected to be delivered to ["user1409@example.org"]4233 is expected to have body including "My title 429"4234 is expected to have body including "Created on May 19, 2023"4235 is expected to have body including "Last used 21 days ago"4236Create scan execution policy for a project/namespace4237 for project4238 behaves like commits scan execution policies4239 creates a branch with commit4240 when provided policy is invalid4241 returns error with detailed information4242 for namespace4243 behaves like commits scan execution policies4244 creates a branch with commit4245 when provided policy is invalid4246 returns error with detailed information4247getting group label information4248 # order random4249 preventing N+1 queries4250 returns the project and group labels4251 behaves like querying a GraphQL type with labels4252 running a query4253 minimum required arguments4254 returns the label information4255 returns the labels information4256 with a search param4257 finds the matching labels4258 the label does not exist4259 returns nil4260 performance4261 batches queries for labels by title4262Query.project(fullPath).dastScannerProfiles4263 when a user does not have access to the project4264 project response4265 is expected to be nil4266 when the user can run a dast scan4267 dast scanner profiles4268 is expected to be empty4269 when a user has access to multiple projects4270 dast scanner profiles4271 returns only the dast_scanner_profile for the requested project4272 when a user has access dast_scanner_profiles4273 dast scanner profiles4274 is expected not to be empty4275 first dast scanner profile id4276 is expected to eq "gid://gitlab/DastScannerProfile/9"4277API::Ci::Minutes4278 POST /namespaces/:id/minutes4279 with insufficient access4280 returns an error4281 with admin user4282 when the namespace cannot be found4283 behaves like not found error4284 returns an error4285 when the additional pack does not exist4286 creates a new additional pack4287 when the additional pack already exists4288 does not create a new additional pack and does not update the existing pack4289 when submitting multiple packs4290 when duplicate packs4291 creates only one new pack4292 when the packs are unique4293 creates all the packs4294 when the additional pack cannot be saved4295 returns an error4296 PATCH /namespaces/:id/minutes/move/:target_id4297 when unauthorized4298 returns an error4299 when authorized4300 when the namespace cannot be found4301 behaves like not found error4302 returns an error4303 when the target namespace cannot be found4304 behaves like not found error4305 returns an error4306 when the namespace is not a top-level namespace4307 returns an error4308 when the target namespace is not a top-level namespace4309 returns an error4310 when the transfer is successful4311 moves the packs and returns an accepted response4312Onboarding4313 # order random4314 .user_onboarding_enabled?4315 ensure_onboarding?: true, should_check_namespace_plan?: true4316 is expected to equal true4317 ensure_onboarding?: true, should_check_namespace_plan?: false4318 is expected to equal false4319 ensure_onboarding?: false, should_check_namespace_plan?: true4320 is expected to equal false4321 ensure_onboarding?: false, should_check_namespace_plan?: false4322 is expected to equal false4323 .user_onboarding_in_progress?4324 user?: true, user_onboarding?: true, ensure_onboarding?: true, should_check_namespace_plan?: true4325 is expected to equal true4326 user?: true, user_onboarding?: true, ensure_onboarding?: true, should_check_namespace_plan?: false4327 is expected to equal false4328 user?: true, user_onboarding?: true, ensure_onboarding?: false, should_check_namespace_plan?: true4329 is expected to equal false4330 user?: true, user_onboarding?: true, ensure_onboarding?: false, should_check_namespace_plan?: false4331 is expected to equal false4332 user?: true, user_onboarding?: false, ensure_onboarding?: true, should_check_namespace_plan?: true4333 is expected to equal false4334 user?: true, user_onboarding?: false, ensure_onboarding?: true, should_check_namespace_plan?: false4335 is expected to equal false4336 user?: true, user_onboarding?: false, ensure_onboarding?: false, should_check_namespace_plan?: true4337 is expected to equal false4338 user?: true, user_onboarding?: false, ensure_onboarding?: false, should_check_namespace_plan?: false4339 is expected to equal false4340 user?: false, user_onboarding?: true, ensure_onboarding?: true, should_check_namespace_plan?: true4341 is expected to equal false4342 user?: false, user_onboarding?: true, ensure_onboarding?: true, should_check_namespace_plan?: false4343 is expected to equal false4344 user?: false, user_onboarding?: true, ensure_onboarding?: false, should_check_namespace_plan?: true4345 is expected to equal false4346 user?: false, user_onboarding?: true, ensure_onboarding?: false, should_check_namespace_plan?: false4347 is expected to equal false4348 user?: false, user_onboarding?: false, ensure_onboarding?: true, should_check_namespace_plan?: true4349 is expected to equal false4350 user?: false, user_onboarding?: false, ensure_onboarding?: true, should_check_namespace_plan?: false4351 is expected to equal false4352 user?: false, user_onboarding?: false, ensure_onboarding?: false, should_check_namespace_plan?: true4353 is expected to equal false4354 user?: false, user_onboarding?: false, ensure_onboarding?: false, should_check_namespace_plan?: false4355 is expected to equal false4356Getting issuable resource links4357 # order random4358 when feature is unavailable4359 returns empty results4360 behaves like a working graphql query4361 returns a successful response4362 when feature is available4363 when user has permissions4364 returns the correct number of resource links4365 returns the correct properties of the resource links4366 behaves like a working graphql query4367 returns a successful response4368 when user does not have permission4369 returns empty results4370 behaves like a working graphql query4371 returns a successful response4372Projects::Security::CorpusManagementController4373 GET #show4374 when the "Security and Compliance" feature is disabled4375 is expected to respond with numeric status code not_found4376 feature available4377 user authorized4378 can access page4379 user not authorized4380 sees a 404 error4381 feature not available4382 license doesnt't support the feature4383 sees a 404 error4384Groups::MergeRequestsController4385 POST #bulk_update4386 when group bulk edit feature is not enabled4387 returns 404 status4388 when group bulk edit feature is enabled4389 when user has permissions to bulk update merge requests4390 returns status 2004391 updates merge requests milestone4392 when user does not have permissions to bulk update merge requests4393 returns status 4044394 does not update merge requests milestone4395Projects::IterationsController4396 index4397 behaves like iterations license is not available4398 behaves like returning response status4399 returns not_found4400 behaves like user is unauthorized4401 behaves like returning response status4402 returns not_found4403 behaves like project is under user namespace4404 behaves like returning response status4405 returns not_found4406 when user is authorized4407 redirects to the project iteration cadence index path4408 show4409 behaves like iterations license is not available4410 behaves like returning response status4411 returns not_found4412 behaves like user is unauthorized4413 behaves like returning response status4414 returns not_found4415 behaves like project is under user namespace4416 behaves like returning response status4417 returns not_found4418 when user is authorized4419 when current user cannot view the requested iteration4420 behaves like returning response status4421 returns not_found4422 when current user can view the requested iteration4423 redirects to the project iteration cadence iteration show path4424Groups::RunnersController4425 #index4426 enables runner_upgrade_management_for_namespace licensed feature4427 when fetching runner releases is disabled4428 does not enable runner_upgrade_management_for_namespace licensed feature4429 #show4430 enables runner_upgrade_management_for_namespace licensed feature4431 when fetching runner releases is disabled4432 does not enable runner_upgrade_management_for_namespace licensed feature4433Groups::SamlGroupLinksController4434 #index4435 behaves like checks authorization4436 renders 404 when the user is not authorized4437 when the SAML provider is enabled4438 responds with 2004439 #create4440 behaves like checks authorization4441 renders 404 when the user is not authorized4442 when the SAML provider is enabled4443 with valid parameters4444 responds with success4445 creates the group link4446 with missing parameters4447 displays an error4448 #destroy4449 behaves like checks authorization4450 renders 404 when the user is not authorized4451 when the SAML provider is enabled4452 with an existent group link4453 responds with success4454 removes the group link4455 with a non-existent group link4456 renders 4044457Query.currentUser.workspaces4458 # order random4459 when licensed and remote_development_feature_flag feature flag is enabled4460 is expected to contain exactly (a hash including {"name" => "workspace-24-1339-22kmzk"})4461 behaves like a working graphql query4462 returns a successful response4463 when user is not authorized4464 is expected to eq []4465 when remote_development feature is unlicensed4466 returns an error4467 when remote_development_feature_flag feature flag is disabled4468 returns an error4469Create an audit event type filter4470 # order random4471 when unlicensed4472 behaves like a mutation on an unauthorized resource4473 behaves like a mutation that returns top-level errors4474 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"4475 when licensed4476 when current user is a group maintainer4477 behaves like a mutation that returns top-level errors4478 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"4479 when current user is a group developer4480 behaves like a mutation that returns top-level errors4481 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"4482 when current user is a group guest4483 behaves like a mutation that returns top-level errors4484 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"4485 when current user is a group owner4486 returns success response4487 when event type filters in input is empty4488 returns graphql error4489Create an issue4490 creates the issue4491 when iterationId is provided4492 creates the issue4493 when iterationId and iterationWildcardId are provided4494 returns a mutually exclusive argument error4495getting Alert Management Integrations4496 with integrations4497 without project permissions4498 is expected to be nil4499 behaves like a working graphql query4500 returns a successful response4501 with project permissions4502 is expected to eq 34503 returns the correct properties of the integrations4504 behaves like a working graphql query4505 returns a successful response4506Projects::Pipelines::EmailCampaignsController4507 GET #validate_account4508 when user has access to the pipeline4509 emits a snowplow event4510 sets session[:start_account_validation] to true4511 redirects to the pipeline show page4512 when not in .com or dev env4513 returns 4044514 when user does not have access to the pipeline4515 returns :not_found4516 does not set session[:start_account_validation]4517Mutations::Geo::Registries::Update4518 # order random4519 is expected to require graphql authorizations :read_geo_registry4520 when feature flag `geo_registries_update_mutation` is disabled4521 behaves like a mutation that returns top-level errors4522 is expected to contain exactly "`geo_registries_update_mutation` feature flag is disabled."4523 when instance is read_only4524 returns an error4525 when geo licensed feature is not available4526 behaves like a mutation that returns a top-level access error4527 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"4528 when updating a single registry4529 with resync action4530 behaves like a valid registry update4531 is expected to include "id", "state", "retryCount", "lastSyncFailure", "retryAt", "lastSyncedAt", "verifiedAt", "verificationRetryAt", "createdAt", and "snippetRepositoryId"4532 behaves like an invalid registry update4533 is expected to be nil4534 with reverify action4535 behaves like a valid registry update4536 is expected to include "id", "state", "retryCount", "lastSyncFailure", "retryAt", "lastSyncedAt", "verifiedAt", "verificationRetryAt", "createdAt", and "snippetRepositoryId"4537 behaves like an invalid registry update4538 is expected to be nil4539 when geo site is secondary4540 behaves like a valid registry update4541 is expected to include "id", "state", "retryCount", "lastSyncFailure", "retryAt", "lastSyncedAt", "verifiedAt", "verificationRetryAt", "createdAt", and "snippetRepositoryId"4542Projects::IssueFeatureFlagsController4543 GET #index4544 returns linked feature flags4545 does not return linked feature flags for a reporter4546 orders by feature_flag_issue id4547 does not make N+1 queries4548 when feature flag related issues feature is unlicensed4549 returns not found4550Admin::Licenses::UsageExportsController4551 GET show4552 with no current license4553 redirects the user4554 does not update the license usage data exported flag4555 does not attempt to create the CSV4556 with a current license4557 returns a csv file in response4558 returns the expected response body4559 when current license is an offline cloud license4560 updates the license usage data exported flag4561 when current license is an online cloud license4562 does not update the license usage data exported flag4563 when current license is a legacy license4564 does not update the license usage data exported flag4565 when data export fails4566 does not update the license usage data exported flag4567Query.project(fullPath).dastProfile4568 when a user does not have access to the project4569 returns a null project4570 when a user does not have access to the dast_profile4571 returns a null dast_profile4572 when a user has access to the dast_profile4573 returns a dast_profile4574 when on demand scan licensed feature is not available4575 returns a null dast_profile4576Projects::LearnGitlabController4577 # order random4578 GET #show4579 for unauthenticated user4580 is expected to respond with numeric status code redirect4581 for authenticated user4582 when learn gitlab is available4583 is expected to render template show4584 when learn_gitlab is not available4585 is expected to respond with numeric status code not_found4586 GET #onboarding4587 without a signed in user4588 is expected to redirect to "/users/sign_in"4589 with an owner user signed in4590 is expected to render template onboarding4591 sets the correct session key4592 with a non-owner user signed in4593 is expected to respond with numeric status code not_found4594Set an Epic Subscription4595 when epics feature is disabled4596 does not subscribe user to the epic4597 behaves like a mutation that returns a top-level access error4598 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"4599 when epics feature is enabled4600 when a user wants to subscribe to an epic4601 subscribes the user to the epic4602 when a user wants to unsubscribe from an epic4603 unsubscribes the user from the epic4604Projects::IncidentManagement::EscalationPoliciesController4605 # order random4606 GET #index4607 with read permissions4608 renders index with 200 status code4609 with admin permissions4610 renders index with 200 status code4611 unauthorized4612 responds with 4044613 with unavailable feature4614 responds with 4044615 with unavailable on-call schedules feature4616 responds with 4044617getting external status checks for a branch rule4618 # order random4619 is expected to eq 14620 when the user does have read_external_status_check permission4621 behaves like a working graphql query4622 returns a successful response4623 returns external_status_checks_data4624 when the user does not have read_external_status_check permission4625 behaves like a working graphql query4626 returns a successful response4627 hides external_status_checks_data4628getting a compliance frameworks list for a project4629 when the project has no compliance framework assigned4630 is an empty array4631 when the project has a compliance framework assigned4632 includes its name4633creating escalation policy4634 # order random4635 successfully creates the policy and rules4636 when rules are provided out of order4637 successfully creates the policy and reorders the rules4638 errors4639 user does not have permission4640 raises an error4641 no rules given4642 raises an error4643contribution analytics4644 redirects from -/analytics to -/analytics/value_stream_analytics4645Query.ciCatalogResources4646 # order random4647 when the CI Namespace Catalog feature is available4648 returns all resources visible to the current user in the namespace4649 when the current user does not have permission to read the namespace catalog4650 returns an empty array4651 when the CI Namespace Catalog feature is not available4652 returns an empty array4653Projects::IssueLinksController4654 GET #index4655 returns success response4656 POST #create4657 returns success response4658 when blocked issues is disabled4659 returns failure response4660API::ConanProjectPackages4661 # order random4662 GET /api/v4/projects/:id/packages/conan/v1/files/:package_name/package_version/:package_username/:package_channel/:recipe_revision/package/:conan_package_reference/:package_revision/:file_name4663 behaves like applying ip restriction for group4664 in group without restriction4665 behaves like returning response status4666 returns ok4667 in group with restriction4668 with address within the range4669 behaves like returning response status4670 returns ok4671 with address outside the range4672 behaves like returning response status4673 returns not_found4674Projects::AutomationsController4675 # order random4676 GET /:namespace/:project/-/automations4677 returns 200 response4678 when the feature flag is disabled4679 behaves like returns not found4680 returns 404 response4681 when the feature is unlicensed4682 behaves like returns not found4683 returns 404 response4684 when the feature is unlicensed AND the feature flag is disabled4685 behaves like returns not found4686 returns 404 response4687getting a repository in a project4688 # order random4689 when ref arg is invalid4690 returns an error4691 when ref arg is omitted4692 returns the CODEOWNERS file from the default branch4693 when ref arg is passed4694 returns the CODEOWNERS file from the requested branch4695Hand Raise Leads4696 # order random4697 POST /-/subscriptions/hand_raise_leads4698 when authenticated4699 is expected to respond with numeric status code ok4700 calls the hand raise lead service with correct parameters4701 when not on gitlab.com4702 is expected to respond with numeric status code not_found4703 when namespace cannot be found4704 is expected to respond with numeric status code not_found4705 with failure4706 is expected to respond with numeric status code forbidden4707 when not authenticated4708 is expected to respond with numeric status code not_found4709API::GenericPackages4710 # order random4711 GET /api/v4/projects/:id/packages/generic/:package_name/:package_version/:file_name4712 behaves like applying ip restriction for group4713 in group without restriction4714 behaves like returning response status4715 returns ok4716 in group with restriction4717 with address within the range4718 behaves like returning response status4719 returns ok4720 with address outside the range4721 behaves like returning response status4722 returns not_found4723Security::DashboardController4724 GET #show4725 behaves like Security::ApplicationController4726 when the user is authenticated4727 responds with success4728 and the instance does not have an Ultimate license4729 404s4730 when the user is not authenticated4731 redirects the user to the sign in page4732 when security dashboard feature4733 is enabled4734 is expected to render template instance_security4735 is disabled4736 is expected to respond with numeric status code not_found4737 is expected to render template errors/not_found4738OmniAuth Kerberos SPNEGO4739 asks for an SPNEGO token4740 when an SPNEGO token is provided4741 passes the token to spnego_negotiate!4742 when the final SPNEGO token is provided4743 redirects to the omniauth callback4744 stores the users principal name in the session4745 send the final SPNEGO response4746Query.project(fullPath).scanResultPolicies4747 returns both user and group approvers4748CustomersDot::ProxyController4749 POST graphql4750 with user signed in4751 behaves like customersdot proxy4752 forwards request body to customers dot4753 responds with customers dot status4754 responds with customers dot response body4755 with no user signed in4756 behaves like customersdot proxy4757 forwards request body to customers dot4758 responds with customers dot status4759 responds with customers dot response body4760Admin::NamespaceLimitsController4761 # order random4762 GET #index4763 with an admin user4764 when on .com4765 is successful4766 when not on .com4767 behaves like not found4768 is not found4769 when :namespace_limits_admin_dashboard is disabled4770 behaves like not found4771 is not found4772 with non-admin user4773 behaves like not found4774 is not found4775 when no user is logged in4776 redirects to login page4777Groups::Security::ComplianceFrameworkReportsController4778 # order random4779 GET /groups/*group_id/-/security/compliance_framework_reports(.:format)4780 when user does not have access to dashboard4781 renders not found4782 when user has access to compliance reports4783 defers email generation and redirects with message on following page4784GitlabSubscriptions::SeatCountAlert4785 #generate_seat_count_alert_data4786 when the user is not authenticated4787 does not set the seat count data4788 when the user is authenticated4789 when the namespace is nil4790 does not set the seat count data4791 when supplied a project4792 sets the data based on the root ancestor4793 when supplied a top level group4794 sets the data based on that group4795 when supplied a subgroup4796 sets the data based on the root ancestor4797Projects::InsightsController4798 # order random4799 POST #query4800 succeeds4801 when statement timeout happens4802 returns error response4803Emails::Issues4804 iterations4805 #changed_iteration_issue_email4806 shows the iteration it was changed to4807 #removed_iteration_issue_email4808 says iteration was removed4809Removing an issuable resource link4810 # order random4811 removes the issuable resource link4812EE::Emails::Profile4813 #policy_revoked_personal_access_tokens_email4814 is sent to the user4815 has the correct subject4816 mentions the access tokens were revoke4817 includes a link to personal access tokens page4818 includes the email reason4819API::Integrations4820 GitLab for Slack app integration4821 returns status 2004822API::UsageData4823 POST /usage_data/increment_counter4824 with authentication4825 with correct params4826 prefix: "users", event: "clicking_license_testing_visiting_external_website"4827 returns status :ok4828 prefix: "users", event: "visiting_testing_license_compliance_full_report"4829 returns status :ok4830Emails::FreeUserCap4831 # order random4832 #over_free_user_limit_email4833 sends mail with expected contents4834AuditEvents::AuditEventsParams4835 # order random4836 #filter_by_author4837 returns params when the user has permission to view all events4838 returns safe params with the current user id when the user lacks permission to view all events4839CountryStatesController4840 GET #index4841 returns a list of states as json4842 returns "null" when the provided country is not found4843Knapsack report was generated. Preview:4844{4845 "ee/spec/requests/api/groups_spec.rb": 69.88312655899972,4846 "ee/spec/requests/api/settings_spec.rb": 87.74772891800058,4847 "ee/spec/requests/git_http_geo_spec.rb": 60.33695981399978,4848 "ee/spec/requests/api/geo_nodes_spec.rb": 56.75821934899977,4849 "ee/spec/controllers/groups/epics_controller_spec.rb": 50.085810347000006,4850 "ee/spec/controllers/projects/licenses_controller_spec.rb": 32.11121876500056,4851 "ee/spec/requests/api/graphql/group/epics_spec.rb": 29.405167444000654,4852 "ee/spec/controllers/groups/push_rules_controller_spec.rb": 27.263460948999636,4853 "ee/spec/controllers/groups/analytics/cycle_analytics/stages_controller_spec.rb": 18.26378662499974,4854 "ee/spec/requests/api/project_mirror_spec.rb": 27.025035265999577,4855 "ee/spec/requests/api/internal/kubernetes_spec.rb": 15.035779054999693,4856 "ee/spec/requests/api/related_epic_links_spec.rb": 17.927366580000125,4857 "ee/spec/requests/api/users_spec.rb": 15.631022741000379,4858 "ee/spec/controllers/projects/settings/operations_controller_spec.rb": 13.266826005999974,4859 "ee/spec/controllers/subscriptions_controller_spec.rb": 9.39482492300067,4860 "ee/spec/requests/api/graphql/issues_spec.rb": 13.2499747869997,4861 "ee/spec/controllers/groups/contribution_analytics_controller_spec.rb": 16.775021866000316,4862 "ee/spec/requests/api/group_protected_branches_spec.rb": 8.12975984700006,4863 "ee/spec/requests/api/epic_issues_spec.rb": 12.164941418000126,4864 "ee/spec/requests/api/graphql/project/issues_spec.rb": 9.261320043000524,4865 "ee/spec/controllers/projects/protected_environments_controller_spec.rb": 10.169317916000182,4866 "ee/spec/requests/api/license_spec.rb": 8.901735409000139,4867 "ee/spec/requests/api/boards_spec.rb": 8.94353789700017,4868 "ee/spec/controllers/projects/security/vulnerabilities_controller_spec.rb": 11.897014098,4869 "ee/spec/controllers/groups/analytics/productivity_analytics_controller_spec.rb": 9.431330150999202,4870 "ee/spec/requests/projects/on_demand_scans_controller_spec.rb": 10.356775332000325,4871 "ee/spec/requests/api/project_clusters_spec.rb": 9.082153657000163,4872 "ee/spec/controllers/projects/path_locks_controller_spec.rb": 7.04507128700061,4873 "ee/spec/requests/api/graphql/mutations/iterations/update_spec.rb": 6.135765654998977,4874 "ee/spec/requests/smartcard_controller_spec.rb": 6.03173530300046,4875 "ee/spec/requests/api/graphql/project/product_analytics_spec.rb": 5.912711401000706,4876 "ee/spec/requests/projects/analytics/dashboards_controller_spec.rb": 6.628638727999714,4877 "ee/spec/requests/api/graphql/mutations/audit_events/instance_external_audit_event_destinations/create_spec.rb": 3.364780850999523,4878 "ee/spec/controllers/projects/deploy_keys_controller_spec.rb": 6.8763969100000395,4879 "ee/spec/requests/api/project_import_spec.rb": 9.82191227200019,4880 "ee/spec/requests/api/graphql/mutations/dast_site_profiles/update_spec.rb": 4.001480172999436,4881 "ee/spec/requests/api/graphql/group/epic/epic_children_spec.rb": 7.046437696999419,4882 "ee/spec/requests/api/graphql/gitlab_subscriptions/preview_billable_user_change_spec.rb": 5.492563792999135,4883 "ee/spec/requests/api/analytics/code_review_analytics_spec.rb": 4.704488311001114,4884 "ee/spec/requests/api/graphql/mutations/boards/epics/create_spec.rb": 4.572114041000532,4885 "ee/spec/controllers/groups/iterations_controller_spec.rb": 5.167483506998906,4886 "ee/spec/requests/api/graphql/audit_events/streaming/headers/update_spec.rb": 4.8649271489994135,4887 "ee/spec/requests/api/graphql/audit_events/instance_external_audit_event_destination_spec.rb": 2.176232287998573,4888 "ee/spec/mailers/ci_minutes_usage_mailer_spec.rb": 3.9105328599998757,4889 "ee/spec/requests/api/experiments_spec.rb": 2.548273059999701,4890 "ee/spec/controllers/projects/security/api_fuzzing_configuration_controller_spec.rb": 6.84676199200112,4891 "ee/spec/requests/api/graphql/mutations/forecasting/build_forecast_spec.rb": 4.649349395000172,4892 "ee/spec/requests/rack_attack_spec.rb": 4.74453020799956,4893 "ee/spec/controllers/admin/projects_controller_spec.rb": 4.376115955001296,4894 "ee/spec/requests/api/ci/variables_spec.rb": 4.765105607000805,4895 "ee/spec/controllers/projects/analytics/merge_request_analytics_controller_spec.rb": 4.4919229070001165,4896 "ee/spec/requests/api/analytics/project_deployment_frequency_spec.rb": 4.494272656998874,4897 "ee/spec/controllers/repositories/git_http_controller_spec.rb": 3.887180202000309,4898 "ee/spec/controllers/projects/branches_controller_spec.rb": 4.737803169000472,4899 "ee/spec/requests/api/graphql/mutations/boards/create_spec.rb": 5.0465263160003815,4900 "ee/spec/requests/api/graphql/project/dast_profile_schedule_spec.rb": 5.3953376999998,4901 "ee/spec/requests/api/graphql/mutations/issues/bulk_update_spec.rb": 5.033129416999145,4902 "ee/spec/controllers/projects/quality/test_cases_controller_spec.rb": 4.085775067000213,4903 "ee/spec/mailers/credentials_inventory_mailer_spec.rb": 1.9808186430000205,4904 "ee/spec/requests/api/graphql/mutations/security_policy/commit_scan_execution_policy_spec.rb": 3.9972611040011543,4905 "ee/spec/requests/api/graphql/group/labels_query_spec.rb": 3.7249883740005316,4906 "ee/spec/requests/api/graphql/project/dast_scanner_profiles_spec.rb": 2.597834137000973,4907 "ee/spec/requests/api/ci/minutes_spec.rb": 2.991324997999982,4908 "ee/spec/controllers/concerns/onboarding_spec.rb": 2.0657798659995024,4909 "ee/spec/requests/api/graphql/incident_management/issuable_resource_links_spec.rb": 3.5654291749997356,4910 "ee/spec/requests/projects/security/corpus_management_controller_spec.rb": 3.381904169000336,4911 "ee/spec/controllers/groups/merge_requests_controller_spec.rb": 3.8592046339999797,4912 "ee/spec/controllers/projects/iterations_controller_spec.rb": 3.2900711160000355,4913 "ee/spec/controllers/groups/runners_controller_spec.rb": 2.033977208999204,4914 "ee/spec/controllers/groups/saml_group_links_controller_spec.rb": 2.755720666000343,4915 "ee/spec/requests/api/graphql/remote_development/current_user_workspaces_spec.rb": 2.8850376660011534,4916 "ee/spec/requests/api/graphql/audit_events/streaming/event_type_filters/create_spec.rb": 2.6207462050006143,4917 "ee/spec/requests/api/graphql/mutations/issues/create_spec.rb": 3.013767076001386,4918 "ee/spec/requests/api/graphql/project/alert_management/integrations_spec.rb": 2.804249021999567,4919 "ee/spec/requests/projects/pipelines/email_campaigns_controller_spec.rb": 3.0007468570001947,4920 "ee/spec/requests/api/graphql/mutations/geo/registries/update_spec.rb": 2.5419027719999576,4921 "ee/spec/requests/projects/issue_feature_flags_controller_spec.rb": 2.7264436280001974,4922 "ee/spec/controllers/admin/licenses/usage_exports_controller_spec.rb": 2.611245616000815,4923 "ee/spec/requests/api/graphql/project/dast_profile_spec.rb": 2.807601082000474,4924 "ee/spec/controllers/projects/learn_gitlab_controller_spec.rb": 2.137633600999834,4925 "ee/spec/requests/api/graphql/mutations/epics/set_subscription_spec.rb": 2.4233904299999267,4926 "ee/spec/controllers/projects/incident_management/escalation_policies_controller_spec.rb": 2.3814283039992006,4927 "ee/spec/requests/api/graphql/project/branch_rules/external_status_checks_spec.rb": 2.1427868319988193,4928 "ee/spec/requests/api/graphql/project/compliance_frameworks_spec.rb": 1.6760373759989307,4929 "ee/spec/requests/api/graphql/mutations/incident_management/escalation_policy/create_spec.rb": 2.178335458998845,4930 "ee/spec/requests/groups/contribution_analytics_spec.rb": 0.7112513769989164,4931 "ee/spec/requests/api/graphql/ci/catalog/resources_spec.rb": 2.0728714160013624,4932 "ee/spec/controllers/projects/issue_links_controller_spec.rb": 2.0060398309997254,4933 "ee/spec/requests/api/conan_project_packages_spec.rb": 1.9783960740005568,4934 "ee/spec/requests/projects/automations_controller_spec.rb": 1.5581633940000756,4935 "ee/spec/requests/api/graphql/project/repository_spec.rb": 1.7598229899995204,4936 "ee/spec/requests/subscriptions/hand_raise_leads_spec.rb": 1.538438446001237,4937 "ee/spec/requests/api/generic_packages_spec.rb": 1.497614109001006,4938 "ee/spec/controllers/security/dashboard_controller_spec.rb": 1.5328476269987732,4939 "ee/spec/requests/omniauth_kerberos_spec.rb": 1.0920760890003294,4940 "ee/spec/requests/api/graphql/project/security_orchestration/scan_result_policy_spec.rb": 1.546406585001023,4941 "ee/spec/requests/customers_dot/proxy_controller_spec.rb": 1.8771466109992616,4942 "ee/spec/requests/admin/namespace_limits_controller_spec.rb": 1.4336167740002566,4943 "ee/spec/requests/groups/security/compliance_framework_reports_controller_spec.rb": 1.3482030899995152,4944 "ee/spec/controllers/concerns/gitlab_subscriptions/seat_count_alert_spec.rb": 0.8927306340010546,4945 "ee/spec/requests/projects/insights_controller_spec.rb": 1.2354721589999826,4946 "ee/spec/mailers/ee/emails/issues_spec.rb": 1.3466073199997481,4947 "ee/spec/requests/api/graphql/mutations/incident_management/issuable_resource_link/destroy_spec.rb": 1.6621006370005489,4948 "ee/spec/mailers/ee/emails/profile_spec.rb": 0.9164265309991606,4949 "ee/spec/requests/api/integrations_spec.rb": 0.6129238349985826,4950 "ee/spec/requests/api/usage_data_spec.rb": 1.0635628510008246,4951 "ee/spec/mailers/emails/free_user_cap_spec.rb": 0.87166011500085,4952 "ee/spec/controllers/concerns/audit_events/audit_events_params_spec.rb": 0.5366974799999298,4953 "ee/spec/controllers/country_states_controller_spec.rb": 0.66986934000124174954}4955Knapsack global time execution for tests: 15m 23s4956Finished in 15 minutes 26 seconds (files took 1 minute 13.85 seconds to load)49571748 examples, 0 failures4958Randomized with seed 523284959[TEST PROF INFO] Time spent in factories: 05:37.338 (35.19% of total time)4960RSpec exited with 0.4961No examples to retry, congrats!4963Not uploading cache ruby-gems-debian-bullseye-ruby-3.0-16 due to policy4965Uploading artifacts...4966coverage/: found 5 matching artifact files and directories 4967crystalball/: found 2 matching artifact files and directories 4968deprecations/: found 6 matching artifact files and directories 4969knapsack/: found 4 matching artifact files and directories 4970WARNING: query_recorder/: no matching files. Ensure that the artifact path is relative to the working directory (/builds/gitlab-org/gitlab) 4971rspec/: found 15 matching artifact files and directories 4972WARNING: tmp/capybara/: no matching files. Ensure that the artifact path is relative to the working directory (/builds/gitlab-org/gitlab) 4973log/*.log: found 19 matching artifact files and directories 4974WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/4313143629/artifacts?artifact_format=zip&artifact_type=archive&expire_in=31d new-url=https://gitlab.com4975WARNING: Retrying... context=artifacts-uploader error=request redirected4976Uploading artifacts as "archive" to coordinator... 201 Created id=4313143629 responseStatus=201 Created token=64_wr5j14977Uploading artifacts...4978rspec/junit_rspec.xml: found 1 matching artifact files and directories 4979WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/4313143629/artifacts?artifact_format=gzip&artifact_type=junit&expire_in=31d new-url=https://gitlab.com4980WARNING: Retrying... context=artifacts-uploader error=request redirected4981Uploading artifacts as "junit" to coordinator... 201 Created id=4313143629 responseStatus=201 Created token=64_wr5j14983Job succeeded