rspec integration pg12 4/12
Passed Started
by
@ahegyi
Adam Hegyi
1Running with gitlab-runner 15.6.0~beta.186.ga889181a (a889181a)2 on blue-2.private.runners-manager.gitlab.com/gitlab.com/gitlab-org QvBVRoXM3 feature flags: FF_USE_FASTZIP:true, FF_USE_IMPROVED_URL_MASKING:true6Using Docker executor with image registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-2.7.patched-golang-1.18-node-16.14-postgresql-12:rubygems-3.2-git-2.36-lfs-2.9-chrome-103-yarn-1.22-graphicsmagick-1.3.36 ...7Starting service postgres:12 ...8Pulling docker image postgres:12 ...9Using docker image sha256:56e1d6dc77b242b5f4f91e7319f0740f7ab8bdf41023fd5d703f412ac87976f5 for postgres:12 with digest postgres@sha256:93fd73e2322241eec204dac54b316bf429670ff6e5292e16f9e2fd3a3374a713 ...10Starting service redis:6.0-alpine ...11Pulling docker image redis:6.0-alpine ...12Using docker image sha256:83c577984741ab5b2e78640e0524852998d539ea3961e6d56680f336371f5c83 for redis:6.0-alpine with digest redis@sha256:459e91c5fe54134da1601ef85a4d9bc40c953862737fdfbe8f3c2b2a3eb6b20b ...13Waiting for services to be up and running (timeout 30 seconds)...14Authenticating with credentials from job payload (GitLab Registry)15Pulling docker image registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-2.7.patched-golang-1.18-node-16.14-postgresql-12:rubygems-3.2-git-2.36-lfs-2.9-chrome-103-yarn-1.22-graphicsmagick-1.3.36 ...16Using docker image sha256:5c5404ecc69273636c3ef49645be715ef30ea99e51ad146a2efbeac2a1875f9c for registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-2.7.patched-golang-1.18-node-16.14-postgresql-12:rubygems-3.2-git-2.36-lfs-2.9-chrome-103-yarn-1.22-graphicsmagick-1.3.36 with digest registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-2.7.patched-golang-1.18-node-16.14-postgresql-12@sha256:b032fe79dc0bf3ebfaeb610c82eacc500fbd0ec6e01889444011cf5a72b4135d ...18Running on runner-qvbvroxm-project-278964-concurrent-0 via runner-qvbvroxm-private-1667561561-76a1883b...20$ eval "$CI_PRE_CLONE_SCRIPT"21Fetching changes with git depth set to 20...22Initialized empty Git repository in /builds/gitlab-org/gitlab/.git/23Created fresh repository.24remote: Enumerating objects: 135178, done. 25remote: Counting objects: 100% (135178/135178), done. 26remote: Compressing objects: 100% (85462/85462), done. 27remote: Total 135178 (delta 62673), reused 94880 (delta 44892), pack-reused 0 28Receiving objects: 100% (135178/135178), 115.46 MiB | 29.62 MiB/s, done.29Resolving deltas: 100% (62673/62673), done.31 * [new ref] refs/pipelines/685831713 -> refs/pipelines/68583171332 * [new branch] master -> origin/master33Checking out 58c4ca27 as master...34Skipping Git submodules setup35$ git remote set-url origin "${CI_REPOSITORY_URL}"37Checking cache for ruby-gems-debian-bullseye-ruby-2.7-16...38cache.zip is up to date 39Successfully extracted cache40Checking cache for gitaly-ruby-gems-debian-bullseye-ruby-2.7-16...41cache.zip is up to date 42Successfully extracted cache44Downloading artifacts for compile-test-assets (3275962690)...45Downloading artifacts from coordinator... ok id=3275962690 responseStatus=200 OK token=AfkvtAAz46Downloading artifacts for detect-tests (3275962698)...47Downloading artifacts from coordinator... ok id=3275962698 responseStatus=200 OK token=AfkvtAAz48Downloading artifacts for retrieve-tests-metadata (3275962699)...49Downloading artifacts from coordinator... ok id=3275962699 responseStatus=200 OK token=AfkvtAAz50Downloading artifacts for setup-test-env (3275962693)...51Downloading artifacts from coordinator... ok id=3275962693 responseStatus=200 OK token=AfkvtAAz53Using docker image sha256:5c5404ecc69273636c3ef49645be715ef30ea99e51ad146a2efbeac2a1875f9c for registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-2.7.patched-golang-1.18-node-16.14-postgresql-12:rubygems-3.2-git-2.36-lfs-2.9-chrome-103-yarn-1.22-graphicsmagick-1.3.36 with digest registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-2.7.patched-golang-1.18-node-16.14-postgresql-12@sha256:b032fe79dc0bf3ebfaeb610c82eacc500fbd0ec6e01889444011cf5a72b4135d ...54$ echo $FOSS_ONLY55$ [ "$FOSS_ONLY" = "1" ] && rm -rf ee/ qa/spec/ee/ qa/qa/specs/features/ee/ qa/qa/ee/ qa/qa/ee.rb56$ export GOPATH=$CI_PROJECT_DIR/.go57$ mkdir -p $GOPATH58$ source scripts/utils.sh59$ source scripts/prepare_build.sh676Using decomposed database config (config/database.yml.decomposed-postgresql)677$ setup_db_user_only678CREATE ROLE679GRANT680==> 'setup_db_user_only' succeeded in 0 seconds.681$ bundle exec rake db:drop db:create db:schema:load db:migrate682Dropped database 'gitlabhq_test'683Dropped database 'gitlabhq_test_ci'684Dropped database 'gitlabhq_geo_test'685Created database 'gitlabhq_test'686Created database 'gitlabhq_test_ci'687Created database 'gitlabhq_geo_test'688==> 'bundle exec rake db:drop db:create db:schema:load db:migrate' succeeded in 38 seconds.689$ setup_db_praefect690SELECT pg_catalog.set_config('search_path', '', false);691CREATE DATABASE praefect_test ENCODING 'UTF8';692==> 'setup_db_praefect' succeeded in 0 seconds.693$ source ./scripts/rspec_helpers.sh694$ run_timed_command "gem install knapsack --no-document"695$ gem install knapsack --no-document696Successfully installed knapsack-4.0.06971 gem installed698==> 'gem install knapsack --no-document' succeeded in 0 seconds.699$ echo -e "\e[0Ksection_start:`date +%s`:gitaly-test-spawn[collapsed=true]\r\e[0KStarting Gitaly"813$ rspec_paralellized_job "--tag ~quarantine --tag ~level:migration"814SKIP_FLAKY_TESTS_AUTOMATICALLY: true815RETRY_FAILED_TESTS_IN_NEW_PROCESS: true816KNAPSACK_GENERATE_REPORT: true817FLAKY_RSPEC_GENERATE_REPORT: true818KNAPSACK_TEST_FILE_PATTERN: spec/{commands,controllers,mailers,requests}{,/**/}*_spec.rb819KNAPSACK_LOG_LEVEL: debug820KNAPSACK_REPORT_PATH: knapsack/rspec_integration_pg12_4_12_report.json821FLAKY_RSPEC_SUITE_REPORT_PATH: rspec/flaky/report-suite.json822FLAKY_RSPEC_REPORT_PATH: rspec/flaky/all_rspec_integration_pg12_4_12_report.json823NEW_FLAKY_RSPEC_REPORT_PATH: rspec/flaky/new_rspec_integration_pg12_4_12_report.json824SKIPPED_FLAKY_TESTS_REPORT_PATH: rspec/flaky/skipped_flaky_tests_rspec_integration_pg12_4_12_report.txt825RETRIED_TESTS_REPORT_PATH: rspec/flaky/retried_tests_rspec_integration_pg12_4_12_report.txt826CRYSTALBALL: 827Knapsack report generator started!828WARNING: Shared example group 'returns a valid json search response' has been previously defined at:829 /builds/gitlab-org/gitlab/spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb:339830...and you are now defining it at:831 /builds/gitlab-org/gitlab/spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb:339832The new definition will overwrite the original one.833WARNING: Shared example group 'returns a valid json search response' has been previously defined at:834 /builds/gitlab-org/gitlab/spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb:339835...and you are now defining it at:836 /builds/gitlab-org/gitlab/spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb:339837The new definition will overwrite the original one.838WARNING: Shared example group 'returns a valid json search response' has been previously defined at:839 /builds/gitlab-org/gitlab/spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb:339840...and you are now defining it at:841 /builds/gitlab-org/gitlab/spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb:339842The new definition will overwrite the original one.843WARNING: Shared example group 'returns a valid json search response' has been previously defined at:844 /builds/gitlab-org/gitlab/spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb:339845...and you are now defining it at:846 /builds/gitlab-org/gitlab/spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb:339847The new definition will overwrite the original one.848WARNING: Shared example group 'returns a valid json search response' has been previously defined at:849 /builds/gitlab-org/gitlab/spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb:339850...and you are now defining it at:851 /builds/gitlab-org/gitlab/spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb:339852The new definition will overwrite the original one.853WARNING: Shared example group 'returns a valid json search response' has been previously defined at:854 /builds/gitlab-org/gitlab/spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb:339855...and you are now defining it at:856 /builds/gitlab-org/gitlab/spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb:339857The new definition will overwrite the original one.858WARNING: Shared example group 'returns a valid json search response' has been previously defined at:859 /builds/gitlab-org/gitlab/spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb:339860...and you are now defining it at:861 /builds/gitlab-org/gitlab/spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb:339862The new definition will overwrite the original one.863WARNING: Shared example group 'returns a valid json search response' has been previously defined at:864 /builds/gitlab-org/gitlab/spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb:339865...and you are now defining it at:866 /builds/gitlab-org/gitlab/spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb:339867The new definition will overwrite the original one.868WARNING: Shared example group 'returns a valid json search response' has been previously defined at:869 /builds/gitlab-org/gitlab/spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb:339870...and you are now defining it at:871 /builds/gitlab-org/gitlab/spec/support/shared_examples/requests/api/nuget_packages_shared_examples.rb:339872The new definition will overwrite the original one.873WARNING: 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/spec/requests/api/internal/kubernetes_spec.rb:268:in `block (3 levels) in <top (required)>'.874Run options: exclude {:quarantine=>true, :level=>"migration"}875Test environment set up in 1.232154036 seconds876API::NugetGroupPackages877 with a subgroup878 behaves like handling all endpoints879 GET /api/v4/groups/:id/-/packages/nuget880 behaves like handling nuget service requests881 with valid target882 personal token883 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: true, shared_examples_name: "process nuget service index request", expected_status: :success884 behaves like process nuget service index request885 for user type developer886 returns a valid json response887 behaves like returning response status888 returns success889 behaves like a package tracking event890 creates a gitlab tracking event cli_metadata891 with invalid format892 behaves like rejects nuget packages access893 for user type anonymous894 behaves like returning response status895 returns not_found896 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: true, shared_examples_name: "process nuget service index request", expected_status: :success897 behaves like process nuget service index request898 for user type guest899 returns a valid json response900 behaves like returning response status901 returns success902 behaves like a package tracking event903 creates a gitlab tracking event cli_metadata904 with invalid format905 behaves like rejects nuget packages access906 for user type anonymous907 behaves like returning response status908 returns not_found909 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized910 behaves like rejects nuget packages access911 for user type developer912 has the correct response header913 behaves like returning response status914 returns unauthorized915 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized916 behaves like rejects nuget packages access917 for user type guest918 has the correct response header919 behaves like returning response status920 returns unauthorized921 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: true, shared_examples_name: "process nuget service index request", expected_status: :success922 behaves like process nuget service index request923 for user type developer924 returns a valid json response925 behaves like returning response status926 returns success927 behaves like a package tracking event928 creates a gitlab tracking event cli_metadata929 with invalid format930 behaves like rejects nuget packages access931 for user type anonymous932 behaves like returning response status933 returns not_found934 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: true, shared_examples_name: "process nuget service index request", expected_status: :success935 behaves like process nuget service index request936 for user type guest937 returns a valid json response938 behaves like returning response status939 returns success940 behaves like a package tracking event941 creates a gitlab tracking event cli_metadata942 with invalid format943 behaves like rejects nuget packages access944 for user type anonymous945 behaves like returning response status946 returns not_found947 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized948 behaves like rejects nuget packages access949 for user type developer950 has the correct response header951 behaves like returning response status952 returns unauthorized953 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized954 behaves like rejects nuget packages access955 for user type guest956 has the correct response header957 behaves like returning response status958 returns unauthorized959 visibility_level: "PUBLIC", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized960 behaves like rejects nuget packages access961 for user type anonymous962 has the correct response header963 behaves like returning response status964 returns unauthorized965 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: true, shared_examples_name: "process nuget service index request", expected_status: :success966 behaves like process nuget service index request967 for user type developer968 returns a valid json response969 behaves like returning response status970 returns success971 behaves like a package tracking event972 creates a gitlab tracking event cli_metadata973 with invalid format974 behaves like rejects nuget packages access975 for user type anonymous976 behaves like returning response status977 returns not_found978 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden979 behaves like rejects nuget packages access980 for user type guest981 behaves like returning response status982 returns forbidden983 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized984 behaves like rejects nuget packages access985 for user type developer986 has the correct response header987 behaves like returning response status988 returns unauthorized989 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized990 behaves like rejects nuget packages access991 for user type guest992 has the correct response header993 behaves like returning response status994 returns unauthorized995 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :not_found996 behaves like rejects nuget packages access997 for user type developer998 behaves like returning response status999 returns not_found1000 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :not_found1001 behaves like rejects nuget packages access1002 for user type guest1003 behaves like returning response status1004 returns not_found1005 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1006 behaves like rejects nuget packages access1007 for user type developer1008 has the correct response header1009 behaves like returning response status1010 returns unauthorized1011 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1012 behaves like rejects nuget packages access1013 for user type guest1014 has the correct response header1015 behaves like returning response status1016 returns unauthorized1017 visibility_level: "PRIVATE", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1018 behaves like rejects nuget packages access1019 for user type anonymous1020 has the correct response header1021 behaves like returning response status1022 returns unauthorized1023 with job token1024 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: true, shared_examples_name: "process nuget service index request", expected_status: :success1025 behaves like process nuget service index request1026 for user type developer1027 returns a valid json response1028 behaves like returning response status1029 returns success1030 behaves like a package tracking event1031 creates a gitlab tracking event cli_metadata1032 with invalid format1033 behaves like rejects nuget packages access1034 for user type anonymous1035 behaves like returning response status1036 returns not_found1037 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: true, shared_examples_name: "process nuget service index request", expected_status: :success1038 behaves like process nuget service index request1039 for user type guest1040 returns a valid json response1041 behaves like returning response status1042 returns success1043 behaves like a package tracking event1044 creates a gitlab tracking event cli_metadata1045 with invalid format1046 behaves like rejects nuget packages access1047 for user type anonymous1048 behaves like returning response status1049 returns not_found1050 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1051 behaves like rejects nuget packages access1052 for user type developer1053 has the correct response header1054 behaves like returning response status1055 returns unauthorized1056 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1057 behaves like rejects nuget packages access1058 for user type guest1059 has the correct response header1060 behaves like returning response status1061 returns unauthorized1062 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: true, shared_examples_name: "process nuget service index request", expected_status: :success1063 behaves like process nuget service index request1064 for user type developer1065 returns a valid json response1066 behaves like returning response status1067 returns success1068 behaves like a package tracking event1069 creates a gitlab tracking event cli_metadata1070 with invalid format1071 behaves like rejects nuget packages access1072 for user type anonymous1073 behaves like returning response status1074 returns not_found1075 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: true, shared_examples_name: "process nuget service index request", expected_status: :success1076 behaves like process nuget service index request1077 for user type guest1078 returns a valid json response1079 behaves like returning response status1080 returns success1081 behaves like a package tracking event1082 creates a gitlab tracking event cli_metadata1083 with invalid format1084 behaves like rejects nuget packages access1085 for user type anonymous1086 behaves like returning response status1087 returns not_found1088 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1089 behaves like rejects nuget packages access1090 for user type developer1091 has the correct response header1092 behaves like returning response status1093 returns unauthorized1094 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1095 behaves like rejects nuget packages access1096 for user type guest1097 has the correct response header1098 behaves like returning response status1099 returns unauthorized1100 visibility_level: "PUBLIC", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1101 behaves like rejects nuget packages access1102 for user type anonymous1103 has the correct response header1104 behaves like returning response status1105 returns unauthorized1106 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: true, shared_examples_name: "process nuget service index request", expected_status: :success1107 behaves like process nuget service index request1108 for user type developer1109 returns a valid json response1110 behaves like returning response status1111 returns success1112 behaves like a package tracking event1113 creates a gitlab tracking event cli_metadata1114 with invalid format1115 behaves like rejects nuget packages access1116 for user type anonymous1117 behaves like returning response status1118 returns not_found1119 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden1120 behaves like rejects nuget packages access1121 for user type guest1122 behaves like returning response status1123 returns forbidden1124 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1125 behaves like rejects nuget packages access1126 for user type developer1127 has the correct response header1128 behaves like returning response status1129 returns unauthorized1130 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1131 behaves like rejects nuget packages access1132 for user type guest1133 has the correct response header1134 behaves like returning response status1135 returns unauthorized1136 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :not_found1137 behaves like rejects nuget packages access1138 for user type developer1139 behaves like returning response status1140 returns not_found1141 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :not_found1142 behaves like rejects nuget packages access1143 for user type guest1144 behaves like returning response status1145 returns not_found1146 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1147 behaves like rejects nuget packages access1148 for user type developer1149 has the correct response header1150 behaves like returning response status1151 returns unauthorized1152 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1153 behaves like rejects nuget packages access1154 for user type guest1155 has the correct response header1156 behaves like returning response status1157 returns unauthorized1158 visibility_level: "PRIVATE", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1159 behaves like rejects nuget packages access1160 for user type anonymous1161 has the correct response header1162 behaves like returning response status1163 returns unauthorized1164 behaves like deploy token for package GET requests1165 with deploy token headers1166 valid token1167 behaves like returning response status1168 returns success1169 invalid token1170 behaves like returning response status1171 returns unauthorized1172 behaves like rejects nuget access with unknown target id1173 with an unknown target1174 as anonymous1175 behaves like rejects nuget packages access1176 for user type anonymous1177 has the correct response header1178 behaves like returning response status1179 returns unauthorized1180 as authenticated user1181 behaves like rejects nuget packages access1182 for user type anonymous1183 behaves like returning response status1184 returns not_found1185 behaves like rejects nuget access with invalid target id1186 with a target id with invalid integers1187 id: "/../", status: :bad_request1188 behaves like rejects nuget packages access1189 for user type anonymous1190 behaves like returning response status1191 returns bad_request1192 id: "", status: :not_found1193 behaves like rejects nuget packages access1194 for user type anonymous1195 behaves like returning response status1196 returns not_found1197 id: "%20", status: :bad_request1198 behaves like rejects nuget packages access1199 for user type anonymous1200 behaves like returning response status1201 returns bad_request1202 id: "%2e%2e%2f", status: :bad_request1203 behaves like rejects nuget packages access1204 for user type anonymous1205 behaves like returning response status1206 returns bad_request1207 id: "NaN", status: :bad_request1208 behaves like rejects nuget packages access1209 for user type anonymous1210 behaves like returning response status1211 returns bad_request1212 id: 1253, status: :unauthorized1213 behaves like rejects nuget packages access1214 for user type anonymous1215 has the correct response header1216 behaves like returning response status1217 returns unauthorized1218 id: "anything25", status: :bad_request1219 behaves like rejects nuget packages access1220 for user type anonymous1221 behaves like returning response status1222 returns bad_request1223 GET /api/v4/groups/:id/-/packages/nuget/metadata/*package_name/index1224 behaves like handling nuget metadata requests with package name1225 with valid target1226 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: true, shared_examples_name: "process nuget metadata request at package name level", expected_status: :success1227 behaves like process nuget metadata request at package name level1228 for user type developer1229 behaves like returning response status1230 returns success1231 behaves like returning nuget metadata json response with json schema1232 returns a valid json response1233 with invalid format1234 behaves like rejects nuget packages access1235 for user type anonymous1236 behaves like returning response status1237 returns not_found1238 with lower case package name1239 behaves like returning response status1240 returns success1241 behaves like returning nuget metadata json response with json schema1242 returns a valid json response1243 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: true, shared_examples_name: "process nuget metadata request at package name level", expected_status: :success1244 behaves like process nuget metadata request at package name level1245 for user type guest1246 behaves like returning response status1247 returns success1248 behaves like returning nuget metadata json response with json schema1249 returns a valid json response1250 with invalid format1251 behaves like rejects nuget packages access1252 for user type anonymous1253 behaves like returning response status1254 returns not_found1255 with lower case package name1256 behaves like returning response status1257 returns success1258 behaves like returning nuget metadata json response with json schema1259 returns a valid json response1260 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1261 behaves like rejects nuget packages access1262 for user type developer1263 has the correct response header1264 behaves like returning response status1265 returns unauthorized1266 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1267 behaves like rejects nuget packages access1268 for user type guest1269 has the correct response header1270 behaves like returning response status1271 returns unauthorized1272 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: true, shared_examples_name: "process nuget metadata request at package name level", expected_status: :success1273 behaves like process nuget metadata request at package name level1274 for user type developer1275 behaves like returning response status1276 returns success1277 behaves like returning nuget metadata json response with json schema1278 returns a valid json response1279 with invalid format1280 behaves like rejects nuget packages access1281 for user type anonymous1282 behaves like returning response status1283 returns not_found1284 with lower case package name1285 behaves like returning response status1286 returns success1287 behaves like returning nuget metadata json response with json schema1288 returns a valid json response1289 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: true, shared_examples_name: "process nuget metadata request at package name level", expected_status: :success1290 behaves like process nuget metadata request at package name level1291 for user type guest1292 behaves like returning response status1293 returns success1294 behaves like returning nuget metadata json response with json schema1295 returns a valid json response1296 with invalid format1297 behaves like rejects nuget packages access1298 for user type anonymous1299 behaves like returning response status1300 returns not_found1301 with lower case package name1302 behaves like returning response status1303 returns success1304 behaves like returning nuget metadata json response with json schema1305 returns a valid json response1306 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1307 behaves like rejects nuget packages access1308 for user type developer1309 has the correct response header1310 behaves like returning response status1311 returns unauthorized1312 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1313 behaves like rejects nuget packages access1314 for user type guest1315 has the correct response header1316 behaves like returning response status1317 returns unauthorized1318 visibility_level: "PUBLIC", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1319 behaves like rejects nuget packages access1320 for user type anonymous1321 has the correct response header1322 behaves like returning response status1323 returns unauthorized1324 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: true, shared_examples_name: "process nuget metadata request at package name level", expected_status: :success1325 behaves like process nuget metadata request at package name level1326 for user type developer1327 behaves like returning response status1328 returns success1329 behaves like returning nuget metadata json response with json schema1330 returns a valid json response1331 with invalid format1332 behaves like rejects nuget packages access1333 for user type anonymous1334 behaves like returning response status1335 returns not_found1336 with lower case package name1337 behaves like returning response status1338 returns success1339 behaves like returning nuget metadata json response with json schema1340 returns a valid json response1341 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden1342 behaves like rejects nuget packages access1343 for user type guest1344 behaves like returning response status1345 returns forbidden1346 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1347 behaves like rejects nuget packages access1348 for user type developer1349 has the correct response header1350 behaves like returning response status1351 returns unauthorized1352 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1353 behaves like rejects nuget packages access1354 for user type guest1355 has the correct response header1356 behaves like returning response status1357 returns unauthorized1358 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :not_found1359 behaves like rejects nuget packages access1360 for user type developer1361 behaves like returning response status1362 returns not_found1363 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :not_found1364 behaves like rejects nuget packages access1365 for user type guest1366 behaves like returning response status1367 returns not_found1368 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1369 behaves like rejects nuget packages access1370 for user type developer1371 has the correct response header1372 behaves like returning response status1373 returns unauthorized1374 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1375 behaves like rejects nuget packages access1376 for user type guest1377 has the correct response header1378 behaves like returning response status1379 returns unauthorized1380 visibility_level: "PRIVATE", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1381 behaves like rejects nuget packages access1382 for user type anonymous1383 has the correct response header1384 behaves like returning response status1385 returns unauthorized1386 behaves like deploy token for package GET requests1387 with deploy token headers1388 valid token1389 behaves like returning response status1390 returns success1391 invalid token1392 behaves like returning response status1393 returns unauthorized1394 behaves like rejects nuget access with unknown target id1395 with an unknown target1396 as anonymous1397 behaves like rejects nuget packages access1398 for user type anonymous1399 has the correct response header1400 behaves like returning response status1401 returns unauthorized1402 as authenticated user1403 behaves like rejects nuget packages access1404 for user type anonymous1405 behaves like returning response status1406 returns not_found1407 behaves like rejects nuget access with invalid target id1408 with a target id with invalid integers1409 id: "/../", status: :bad_request1410 behaves like rejects nuget packages access1411 for user type anonymous1412 behaves like returning response status1413 returns bad_request1414 id: "", status: :not_found1415 behaves like rejects nuget packages access1416 for user type anonymous1417 behaves like returning response status1418 returns not_found1419 id: "%20", status: :bad_request1420 behaves like rejects nuget packages access1421 for user type anonymous1422 behaves like returning response status1423 returns bad_request1424 id: "%2e%2e%2f", status: :bad_request1425 behaves like rejects nuget packages access1426 for user type anonymous1427 behaves like returning response status1428 returns bad_request1429 id: "NaN", status: :bad_request1430 behaves like rejects nuget packages access1431 for user type anonymous1432 behaves like returning response status1433 returns bad_request1434 id: 1253, status: :unauthorized1435 behaves like rejects nuget packages access1436 for user type anonymous1437 has the correct response header1438 behaves like returning response status1439 returns unauthorized1440 id: "anything25", status: :bad_request1441 behaves like rejects nuget packages access1442 for user type anonymous1443 behaves like returning response status1444 returns bad_request1445 GET /api/v4/groups/:id/-/packages/nuget/metadata/*package_name/*package_version1446 behaves like handling nuget metadata requests with package name and package version1447 with valid target1448 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: true, shared_examples_name: "process nuget metadata request at package name and package version level", expected_status: :success1449 behaves like process nuget metadata request at package name and package version level1450 for user type developer1451 behaves like returning response status1452 returns success1453 behaves like returning nuget metadata json response with json schema1454 returns a valid json response1455 with invalid format1456 behaves like rejects nuget packages access1457 for user type anonymous1458 behaves like returning response status1459 returns not_found1460 with lower case package name1461 behaves like returning response status1462 returns success1463 behaves like returning nuget metadata json response with json schema1464 returns a valid json response1465 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: true, shared_examples_name: "process nuget metadata request at package name and package version level", expected_status: :success1466 behaves like process nuget metadata request at package name and package version level1467 for user type guest1468 behaves like returning response status1469 returns success1470 behaves like returning nuget metadata json response with json schema1471 returns a valid json response1472 with invalid format1473 behaves like rejects nuget packages access1474 for user type anonymous1475 behaves like returning response status1476 returns not_found1477 with lower case package name1478 behaves like returning response status1479 returns success1480 behaves like returning nuget metadata json response with json schema1481 returns a valid json response1482 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1483 behaves like rejects nuget packages access1484 for user type developer1485 has the correct response header1486 behaves like returning response status1487 returns unauthorized1488 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1489 behaves like rejects nuget packages access1490 for user type guest1491 has the correct response header1492 behaves like returning response status1493 returns unauthorized1494 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: true, shared_examples_name: "process nuget metadata request at package name and package version level", expected_status: :success1495 behaves like process nuget metadata request at package name and package version level1496 for user type developer1497 behaves like returning response status1498 returns success1499 behaves like returning nuget metadata json response with json schema1500 returns a valid json response1501 with invalid format1502 behaves like rejects nuget packages access1503 for user type anonymous1504 behaves like returning response status1505 returns not_found1506 with lower case package name1507 behaves like returning response status1508 returns success1509 behaves like returning nuget metadata json response with json schema1510 returns a valid json response1511 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: true, shared_examples_name: "process nuget metadata request at package name and package version level", expected_status: :success1512 behaves like process nuget metadata request at package name and package version level1513 for user type guest1514 behaves like returning response status1515 returns success1516 behaves like returning nuget metadata json response with json schema1517 returns a valid json response1518 with invalid format1519 behaves like rejects nuget packages access1520 for user type anonymous1521 behaves like returning response status1522 returns not_found1523 with lower case package name1524 behaves like returning response status1525 returns success1526 behaves like returning nuget metadata json response with json schema1527 returns a valid json response1528 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1529 behaves like rejects nuget packages access1530 for user type developer1531 has the correct response header1532 behaves like returning response status1533 returns unauthorized1534 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1535 behaves like rejects nuget packages access1536 for user type guest1537 has the correct response header1538 behaves like returning response status1539 returns unauthorized1540 visibility_level: "PUBLIC", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1541 behaves like rejects nuget packages access1542 for user type anonymous1543 has the correct response header1544 behaves like returning response status1545 returns unauthorized1546 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: true, shared_examples_name: "process nuget metadata request at package name and package version level", expected_status: :success1547 behaves like process nuget metadata request at package name and package version level1548 for user type developer1549 behaves like returning response status1550 returns success1551 behaves like returning nuget metadata json response with json schema1552 returns a valid json response1553 with invalid format1554 behaves like rejects nuget packages access1555 for user type anonymous1556 behaves like returning response status1557 returns not_found1558 with lower case package name1559 behaves like returning response status1560 returns success1561 behaves like returning nuget metadata json response with json schema1562 returns a valid json response1563 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden1564 behaves like rejects nuget packages access1565 for user type guest1566 behaves like returning response status1567 returns forbidden1568 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1569 behaves like rejects nuget packages access1570 for user type developer1571 has the correct response header1572 behaves like returning response status1573 returns unauthorized1574 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1575 behaves like rejects nuget packages access1576 for user type guest1577 has the correct response header1578 behaves like returning response status1579 returns unauthorized1580 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :not_found1581 behaves like rejects nuget packages access1582 for user type developer1583 behaves like returning response status1584 returns not_found1585 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :not_found1586 behaves like rejects nuget packages access1587 for user type guest1588 behaves like returning response status1589 returns not_found1590 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1591 behaves like rejects nuget packages access1592 for user type developer1593 has the correct response header1594 behaves like returning response status1595 returns unauthorized1596 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1597 behaves like rejects nuget packages access1598 for user type guest1599 has the correct response header1600 behaves like returning response status1601 returns unauthorized1602 visibility_level: "PRIVATE", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1603 behaves like rejects nuget packages access1604 for user type anonymous1605 has the correct response header1606 behaves like returning response status1607 returns unauthorized1608 behaves like deploy token for package GET requests1609 with deploy token headers1610 valid token1611 behaves like returning response status1612 returns success1613 invalid token1614 behaves like returning response status1615 returns unauthorized1616 behaves like rejects nuget access with unknown target id1617 with an unknown target1618 as anonymous1619 behaves like rejects nuget packages access1620 for user type anonymous1621 has the correct response header1622 behaves like returning response status1623 returns unauthorized1624 as authenticated user1625 behaves like rejects nuget packages access1626 for user type anonymous1627 behaves like returning response status1628 returns not_found1629 behaves like rejects nuget access with invalid target id1630 with a target id with invalid integers1631 id: "/../", status: :bad_request1632 behaves like rejects nuget packages access1633 for user type anonymous1634 behaves like returning response status1635 returns bad_request1636 id: "", status: :not_found1637 behaves like rejects nuget packages access1638 for user type anonymous1639 behaves like returning response status1640 returns not_found1641 id: "%20", status: :bad_request1642 behaves like rejects nuget packages access1643 for user type anonymous1644 behaves like returning response status1645 returns bad_request1646 id: "%2e%2e%2f", status: :bad_request1647 behaves like rejects nuget packages access1648 for user type anonymous1649 behaves like returning response status1650 returns bad_request1651 id: "NaN", status: :bad_request1652 behaves like rejects nuget packages access1653 for user type anonymous1654 behaves like returning response status1655 returns bad_request1656 id: 1253, status: :unauthorized1657 behaves like rejects nuget packages access1658 for user type anonymous1659 has the correct response header1660 behaves like returning response status1661 returns unauthorized1662 id: "anything25", status: :bad_request1663 behaves like rejects nuget packages access1664 for user type anonymous1665 behaves like returning response status1666 returns bad_request1667 GET /api/v4/groups/:id/-/packages/nuget/query1668 behaves like handling nuget search requests1669 with valid target1670 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: true, shared_examples_name: "process nuget search request", expected_status: :success1671 behaves like process nuget search request1672 for user type developer1673 behaves like returns a valid json search response1674 returns a valid json response1675 behaves like returning response status1676 returns success1677 behaves like a package tracking event1678 creates a gitlab tracking event search_package1679 with skip set to 21680 behaves like returns a valid json search response1681 returns a valid json response1682 behaves like returning response status1683 returns success1684 with take set to 21685 behaves like returns a valid json search response1686 returns a valid json response1687 behaves like returning response status1688 returns success1689 without prereleases1690 behaves like returns a valid json search response1691 returns a valid json response1692 behaves like returning response status1693 returns success1694 with empty search term1695 behaves like returns a valid json search response1696 returns a valid json response1697 behaves like returning response status1698 returns success1699 with nil search term1700 behaves like returns a valid json search response1701 returns a valid json response1702 behaves like returning response status1703 returns success1704 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: true, shared_examples_name: "process nuget search request", expected_status: :success1705 behaves like process nuget search request1706 for user type guest1707 behaves like returns a valid json search response1708 returns a valid json response1709 behaves like returning response status1710 returns success1711 behaves like a package tracking event1712 creates a gitlab tracking event search_package1713 with skip set to 21714 behaves like returns a valid json search response1715 returns a valid json response1716 behaves like returning response status1717 returns success1718 with take set to 21719 behaves like returns a valid json search response1720 returns a valid json response1721 behaves like returning response status1722 returns success1723 without prereleases1724 behaves like returns a valid json search response1725 returns a valid json response1726 behaves like returning response status1727 returns success1728 with empty search term1729 behaves like returns a valid json search response1730 returns a valid json response1731 behaves like returning response status1732 returns success1733 with nil search term1734 behaves like returns a valid json search response1735 returns a valid json response1736 behaves like returning response status1737 returns success1738 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1739 behaves like rejects nuget packages access1740 for user type developer1741 has the correct response header1742 behaves like returning response status1743 returns unauthorized1744 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1745 behaves like rejects nuget packages access1746 for user type guest1747 has the correct response header1748 behaves like returning response status1749 returns unauthorized1750 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: true, shared_examples_name: "process nuget search request", expected_status: :success1751 behaves like process nuget search request1752 for user type developer1753 behaves like returns a valid json search response1754 returns a valid json response1755 behaves like returning response status1756 returns success1757 behaves like a package tracking event1758 creates a gitlab tracking event search_package1759 with skip set to 21760 behaves like returns a valid json search response1761 returns a valid json response1762 behaves like returning response status1763 returns success1764 with take set to 21765 behaves like returns a valid json search response1766 returns a valid json response1767 behaves like returning response status1768 returns success1769 without prereleases1770 behaves like returns a valid json search response1771 returns a valid json response1772 behaves like returning response status1773 returns success1774 with empty search term1775 behaves like returns a valid json search response1776 returns a valid json response1777 behaves like returning response status1778 returns success1779 with nil search term1780 behaves like returns a valid json search response1781 returns a valid json response1782 behaves like returning response status1783 returns success1784 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: true, shared_examples_name: "process nuget search request", expected_status: :success1785 behaves like process nuget search request1786 for user type guest1787 behaves like returns a valid json search response1788 returns a valid json response1789 behaves like returning response status1790 returns success1791 behaves like a package tracking event1792 creates a gitlab tracking event search_package1793 with skip set to 21794 behaves like returns a valid json search response1795 returns a valid json response1796 behaves like returning response status1797 returns success1798 with take set to 21799 behaves like returns a valid json search response1800 returns a valid json response1801 behaves like returning response status1802 returns success1803 without prereleases1804 behaves like returns a valid json search response1805 returns a valid json response1806 behaves like returning response status1807 returns success1808 with empty search term1809 behaves like returns a valid json search response1810 returns a valid json response1811 behaves like returning response status1812 returns success1813 with nil search term1814 behaves like returns a valid json search response1815 returns a valid json response1816 behaves like returning response status1817 returns success1818 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1819 behaves like rejects nuget packages access1820 for user type developer1821 has the correct response header1822 behaves like returning response status1823 returns unauthorized1824 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1825 behaves like rejects nuget packages access1826 for user type guest1827 has the correct response header1828 behaves like returning response status1829 returns unauthorized1830 visibility_level: "PUBLIC", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1831 behaves like rejects nuget packages access1832 for user type anonymous1833 has the correct response header1834 behaves like returning response status1835 returns unauthorized1836 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: true, shared_examples_name: "process nuget search request", expected_status: :success1837 behaves like process nuget search request1838 for user type developer1839 behaves like returns a valid json search response1840 returns a valid json response1841 behaves like returning response status1842 returns success1843 behaves like a package tracking event1844 creates a gitlab tracking event search_package1845 with skip set to 21846 behaves like returns a valid json search response1847 returns a valid json response1848 behaves like returning response status1849 returns success1850 with take set to 21851 behaves like returns a valid json search response1852 returns a valid json response1853 behaves like returning response status1854 returns success1855 without prereleases1856 behaves like returns a valid json search response1857 returns a valid json response1858 behaves like returning response status1859 returns success1860 with empty search term1861 behaves like returns a valid json search response1862 returns a valid json response1863 behaves like returning response status1864 returns success1865 with nil search term1866 behaves like returns a valid json search response1867 returns a valid json response1868 behaves like returning response status1869 returns success1870 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden1871 behaves like rejects nuget packages access1872 for user type guest1873 behaves like returning response status1874 returns forbidden1875 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1876 behaves like rejects nuget packages access1877 for user type developer1878 has the correct response header1879 behaves like returning response status1880 returns unauthorized1881 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1882 behaves like rejects nuget packages access1883 for user type guest1884 has the correct response header1885 behaves like returning response status1886 returns unauthorized1887 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :not_found1888 behaves like rejects nuget packages access1889 for user type developer1890 behaves like returning response status1891 returns not_found1892 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :not_found1893 behaves like rejects nuget packages access1894 for user type guest1895 behaves like returning response status1896 returns not_found1897 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1898 behaves like rejects nuget packages access1899 for user type developer1900 has the correct response header1901 behaves like returning response status1902 returns unauthorized1903 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1904 behaves like rejects nuget packages access1905 for user type guest1906 has the correct response header1907 behaves like returning response status1908 returns unauthorized1909 visibility_level: "PRIVATE", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1910 behaves like rejects nuget packages access1911 for user type anonymous1912 has the correct response header1913 behaves like returning response status1914 returns unauthorized1915 behaves like deploy token for package GET requests1916 with deploy token headers1917 valid token1918 behaves like returning response status1919 returns success1920 invalid token1921 behaves like returning response status1922 returns unauthorized1923 behaves like rejects nuget access with unknown target id1924 with an unknown target1925 as anonymous1926 behaves like rejects nuget packages access1927 for user type anonymous1928 has the correct response header1929 behaves like returning response status1930 returns unauthorized1931 as authenticated user1932 behaves like rejects nuget packages access1933 for user type anonymous1934 behaves like returning response status1935 returns not_found1936 behaves like rejects nuget access with invalid target id1937 with a target id with invalid integers1938 id: "/../", status: :bad_request1939 behaves like rejects nuget packages access1940 for user type anonymous1941 behaves like returning response status1942 returns bad_request1943 id: "", status: :not_found1944 behaves like rejects nuget packages access1945 for user type anonymous1946 behaves like returning response status1947 returns not_found1948 id: "%20", status: :bad_request1949 behaves like rejects nuget packages access1950 for user type anonymous1951 behaves like returning response status1952 returns bad_request1953 id: "%2e%2e%2f", status: :bad_request1954 behaves like rejects nuget packages access1955 for user type anonymous1956 behaves like returning response status1957 returns bad_request1958 id: "NaN", status: :bad_request1959 behaves like rejects nuget packages access1960 for user type anonymous1961 behaves like returning response status1962 returns bad_request1963 id: 1253, status: :unauthorized1964 behaves like rejects nuget packages access1965 for user type anonymous1966 has the correct response header1967 behaves like returning response status1968 returns unauthorized1969 id: "anything25", status: :bad_request1970 behaves like rejects nuget packages access1971 for user type anonymous1972 behaves like returning response status1973 returns bad_request1974 a group1975 behaves like handling all endpoints1976 GET /api/v4/groups/:id/-/packages/nuget1977 behaves like handling nuget service requests1978 with valid target1979 personal token1980 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: true, shared_examples_name: "process nuget service index request", expected_status: :success1981 behaves like process nuget service index request1982 for user type developer1983 returns a valid json response1984 behaves like returning response status1985 returns success1986 behaves like a package tracking event1987 creates a gitlab tracking event cli_metadata1988 with invalid format1989 behaves like rejects nuget packages access1990 for user type anonymous1991 behaves like returning response status1992 returns not_found1993 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: true, shared_examples_name: "process nuget service index request", expected_status: :success1994 behaves like process nuget service index request1995 for user type guest1996 returns a valid json response1997 behaves like returning response status1998 returns success1999 behaves like a package tracking event2000 creates a gitlab tracking event cli_metadata2001 with invalid format2002 behaves like rejects nuget packages access2003 for user type anonymous2004 behaves like returning response status2005 returns not_found2006 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2007 behaves like rejects nuget packages access2008 for user type developer2009 has the correct response header2010 behaves like returning response status2011 returns unauthorized2012 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2013 behaves like rejects nuget packages access2014 for user type guest2015 has the correct response header2016 behaves like returning response status2017 returns unauthorized2018 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: true, shared_examples_name: "process nuget service index request", expected_status: :success2019 behaves like process nuget service index request2020 for user type developer2021 returns a valid json response2022 behaves like returning response status2023 returns success2024 behaves like a package tracking event2025 creates a gitlab tracking event cli_metadata2026 with invalid format2027 behaves like rejects nuget packages access2028 for user type anonymous2029 behaves like returning response status2030 returns not_found2031 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: true, shared_examples_name: "process nuget service index request", expected_status: :success2032 behaves like process nuget service index request2033 for user type guest2034 returns a valid json response2035 behaves like returning response status2036 returns success2037 behaves like a package tracking event2038 creates a gitlab tracking event cli_metadata2039 with invalid format2040 behaves like rejects nuget packages access2041 for user type anonymous2042 behaves like returning response status2043 returns not_found2044 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2045 behaves like rejects nuget packages access2046 for user type developer2047 has the correct response header2048 behaves like returning response status2049 returns unauthorized2050 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2051 behaves like rejects nuget packages access2052 for user type guest2053 has the correct response header2054 behaves like returning response status2055 returns unauthorized2056 visibility_level: "PUBLIC", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2057 behaves like rejects nuget packages access2058 for user type anonymous2059 has the correct response header2060 behaves like returning response status2061 returns unauthorized2062 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: true, shared_examples_name: "process nuget service index request", expected_status: :success2063 behaves like process nuget service index request2064 for user type developer2065 returns a valid json response2066 behaves like returning response status2067 returns success2068 behaves like a package tracking event2069 creates a gitlab tracking event cli_metadata2070 with invalid format2071 behaves like rejects nuget packages access2072 for user type anonymous2073 behaves like returning response status2074 returns not_found2075 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden2076 behaves like rejects nuget packages access2077 for user type guest2078 behaves like returning response status2079 returns forbidden2080 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2081 behaves like rejects nuget packages access2082 for user type developer2083 has the correct response header2084 behaves like returning response status2085 returns unauthorized2086 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2087 behaves like rejects nuget packages access2088 for user type guest2089 has the correct response header2090 behaves like returning response status2091 returns unauthorized2092 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :not_found2093 behaves like rejects nuget packages access2094 for user type developer2095 behaves like returning response status2096 returns not_found2097 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :not_found2098 behaves like rejects nuget packages access2099 for user type guest2100 behaves like returning response status2101 returns not_found2102 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2103 behaves like rejects nuget packages access2104 for user type developer2105 has the correct response header2106 behaves like returning response status2107 returns unauthorized2108 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2109 behaves like rejects nuget packages access2110 for user type guest2111 has the correct response header2112 behaves like returning response status2113 returns unauthorized2114 visibility_level: "PRIVATE", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2115 behaves like rejects nuget packages access2116 for user type anonymous2117 has the correct response header2118 behaves like returning response status2119 returns unauthorized2120 with job token2121 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: true, shared_examples_name: "process nuget service index request", expected_status: :success2122 behaves like process nuget service index request2123 for user type developer2124 returns a valid json response2125 behaves like returning response status2126 returns success2127 behaves like a package tracking event2128 creates a gitlab tracking event cli_metadata2129 with invalid format2130 behaves like rejects nuget packages access2131 for user type anonymous2132 behaves like returning response status2133 returns not_found2134 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: true, shared_examples_name: "process nuget service index request", expected_status: :success2135 behaves like process nuget service index request2136 for user type guest2137 returns a valid json response2138 behaves like returning response status2139 returns success2140 behaves like a package tracking event2141 creates a gitlab tracking event cli_metadata2142 with invalid format2143 behaves like rejects nuget packages access2144 for user type anonymous2145 behaves like returning response status2146 returns not_found2147 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2148 behaves like rejects nuget packages access2149 for user type developer2150 has the correct response header2151 behaves like returning response status2152 returns unauthorized2153 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2154 behaves like rejects nuget packages access2155 for user type guest2156 has the correct response header2157 behaves like returning response status2158 returns unauthorized2159 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: true, shared_examples_name: "process nuget service index request", expected_status: :success2160 behaves like process nuget service index request2161 for user type developer2162 returns a valid json response2163 behaves like returning response status2164 returns success2165 behaves like a package tracking event2166 creates a gitlab tracking event cli_metadata2167 with invalid format2168 behaves like rejects nuget packages access2169 for user type anonymous2170 behaves like returning response status2171 returns not_found2172 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: true, shared_examples_name: "process nuget service index request", expected_status: :success2173 behaves like process nuget service index request2174 for user type guest2175 returns a valid json response2176 behaves like returning response status2177 returns success2178 behaves like a package tracking event2179 creates a gitlab tracking event cli_metadata2180 with invalid format2181 behaves like rejects nuget packages access2182 for user type anonymous2183 behaves like returning response status2184 returns not_found2185 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2186 behaves like rejects nuget packages access2187 for user type developer2188 has the correct response header2189 behaves like returning response status2190 returns unauthorized2191 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2192 behaves like rejects nuget packages access2193 for user type guest2194 has the correct response header2195 behaves like returning response status2196 returns unauthorized2197 visibility_level: "PUBLIC", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2198 behaves like rejects nuget packages access2199 for user type anonymous2200 has the correct response header2201 behaves like returning response status2202 returns unauthorized2203 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: true, shared_examples_name: "process nuget service index request", expected_status: :success2204 behaves like process nuget service index request2205 for user type developer2206 returns a valid json response2207 behaves like returning response status2208 returns success2209 behaves like a package tracking event2210 creates a gitlab tracking event cli_metadata2211 with invalid format2212 behaves like rejects nuget packages access2213 for user type anonymous2214 behaves like returning response status2215 returns not_found2216 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden2217 behaves like rejects nuget packages access2218 for user type guest2219 behaves like returning response status2220 returns forbidden2221 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2222 behaves like rejects nuget packages access2223 for user type developer2224 has the correct response header2225 behaves like returning response status2226 returns unauthorized2227 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2228 behaves like rejects nuget packages access2229 for user type guest2230 has the correct response header2231 behaves like returning response status2232 returns unauthorized2233 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :not_found2234 behaves like rejects nuget packages access2235 for user type developer2236 behaves like returning response status2237 returns not_found2238 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :not_found2239 behaves like rejects nuget packages access2240 for user type guest2241 behaves like returning response status2242 returns not_found2243 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2244 behaves like rejects nuget packages access2245 for user type developer2246 has the correct response header2247 behaves like returning response status2248 returns unauthorized2249 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2250 behaves like rejects nuget packages access2251 for user type guest2252 has the correct response header2253 behaves like returning response status2254 returns unauthorized2255 visibility_level: "PRIVATE", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2256 behaves like rejects nuget packages access2257 for user type anonymous2258 has the correct response header2259 behaves like returning response status2260 returns unauthorized2261 behaves like deploy token for package GET requests2262 with deploy token headers2263 valid token2264 behaves like returning response status2265 returns success2266 invalid token2267 behaves like returning response status2268 returns unauthorized2269 behaves like rejects nuget access with unknown target id2270 with an unknown target2271 as anonymous2272 behaves like rejects nuget packages access2273 for user type anonymous2274 has the correct response header2275 behaves like returning response status2276 returns unauthorized2277 as authenticated user2278 behaves like rejects nuget packages access2279 for user type anonymous2280 behaves like returning response status2281 returns not_found2282 behaves like rejects nuget access with invalid target id2283 with a target id with invalid integers2284 id: "/../", status: :bad_request2285 behaves like rejects nuget packages access2286 for user type anonymous2287 behaves like returning response status2288 returns bad_request2289 id: "", status: :not_found2290 behaves like rejects nuget packages access2291 for user type anonymous2292 behaves like returning response status2293 returns not_found2294 id: "%20", status: :bad_request2295 behaves like rejects nuget packages access2296 for user type anonymous2297 behaves like returning response status2298 returns bad_request2299 id: "%2e%2e%2f", status: :bad_request2300 behaves like rejects nuget packages access2301 for user type anonymous2302 behaves like returning response status2303 returns bad_request2304 id: "NaN", status: :bad_request2305 behaves like rejects nuget packages access2306 for user type anonymous2307 behaves like returning response status2308 returns bad_request2309 id: 1253, status: :unauthorized2310 behaves like rejects nuget packages access2311 for user type anonymous2312 has the correct response header2313 behaves like returning response status2314 returns unauthorized2315 id: "anything25", status: :bad_request2316 behaves like rejects nuget packages access2317 for user type anonymous2318 behaves like returning response status2319 returns bad_request2320 GET /api/v4/groups/:id/-/packages/nuget/metadata/*package_name/index2321 behaves like handling nuget metadata requests with package name2322 with valid target2323 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: true, shared_examples_name: "process nuget metadata request at package name level", expected_status: :success2324 behaves like process nuget metadata request at package name level2325 for user type developer2326 behaves like returning response status2327 returns success2328 behaves like returning nuget metadata json response with json schema2329 returns a valid json response2330 with invalid format2331 behaves like rejects nuget packages access2332 for user type anonymous2333 behaves like returning response status2334 returns not_found2335 with lower case package name2336 behaves like returning response status2337 returns success2338 behaves like returning nuget metadata json response with json schema2339 returns a valid json response2340 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: true, shared_examples_name: "process nuget metadata request at package name level", expected_status: :success2341 behaves like process nuget metadata request at package name level2342 for user type guest2343 behaves like returning response status2344 returns success2345 behaves like returning nuget metadata json response with json schema2346 returns a valid json response2347 with invalid format2348 behaves like rejects nuget packages access2349 for user type anonymous2350 behaves like returning response status2351 returns not_found2352 with lower case package name2353 behaves like returning response status2354 returns success2355 behaves like returning nuget metadata json response with json schema2356 returns a valid json response2357 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2358 behaves like rejects nuget packages access2359 for user type developer2360 has the correct response header2361 behaves like returning response status2362 returns unauthorized2363 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2364 behaves like rejects nuget packages access2365 for user type guest2366 has the correct response header2367 behaves like returning response status2368 returns unauthorized2369 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: true, shared_examples_name: "process nuget metadata request at package name level", expected_status: :success2370 behaves like process nuget metadata request at package name level2371 for user type developer2372 behaves like returning response status2373 returns success2374 behaves like returning nuget metadata json response with json schema2375 returns a valid json response2376 with invalid format2377 behaves like rejects nuget packages access2378 for user type anonymous2379 behaves like returning response status2380 returns not_found2381 with lower case package name2382 behaves like returning response status2383 returns success2384 behaves like returning nuget metadata json response with json schema2385 returns a valid json response2386 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: true, shared_examples_name: "process nuget metadata request at package name level", expected_status: :success2387 behaves like process nuget metadata request at package name level2388 for user type guest2389 behaves like returning response status2390 returns success2391 behaves like returning nuget metadata json response with json schema2392 returns a valid json response2393 with invalid format2394 behaves like rejects nuget packages access2395 for user type anonymous2396 behaves like returning response status2397 returns not_found2398 with lower case package name2399 behaves like returning response status2400 returns success2401 behaves like returning nuget metadata json response with json schema2402 returns a valid json response2403 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2404 behaves like rejects nuget packages access2405 for user type developer2406 has the correct response header2407 behaves like returning response status2408 returns unauthorized2409 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2410 behaves like rejects nuget packages access2411 for user type guest2412 has the correct response header2413 behaves like returning response status2414 returns unauthorized2415 visibility_level: "PUBLIC", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2416 behaves like rejects nuget packages access2417 for user type anonymous2418 has the correct response header2419 behaves like returning response status2420 returns unauthorized2421 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: true, shared_examples_name: "process nuget metadata request at package name level", expected_status: :success2422 behaves like process nuget metadata request at package name level2423 for user type developer2424 behaves like returning response status2425 returns success2426 behaves like returning nuget metadata json response with json schema2427 returns a valid json response2428 with invalid format2429 behaves like rejects nuget packages access2430 for user type anonymous2431 behaves like returning response status2432 returns not_found2433 with lower case package name2434 behaves like returning response status2435 returns success2436 behaves like returning nuget metadata json response with json schema2437 returns a valid json response2438 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden2439 behaves like rejects nuget packages access2440 for user type guest2441 behaves like returning response status2442 returns forbidden2443 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2444 behaves like rejects nuget packages access2445 for user type developer2446 has the correct response header2447 behaves like returning response status2448 returns unauthorized2449 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2450 behaves like rejects nuget packages access2451 for user type guest2452 has the correct response header2453 behaves like returning response status2454 returns unauthorized2455 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :not_found2456 behaves like rejects nuget packages access2457 for user type developer2458 behaves like returning response status2459 returns not_found2460 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :not_found2461 behaves like rejects nuget packages access2462 for user type guest2463 behaves like returning response status2464 returns not_found2465 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2466 behaves like rejects nuget packages access2467 for user type developer2468 has the correct response header2469 behaves like returning response status2470 returns unauthorized2471 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2472 behaves like rejects nuget packages access2473 for user type guest2474 has the correct response header2475 behaves like returning response status2476 returns unauthorized2477 visibility_level: "PRIVATE", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2478 behaves like rejects nuget packages access2479 for user type anonymous2480 has the correct response header2481 behaves like returning response status2482 returns unauthorized2483 behaves like deploy token for package GET requests2484 with deploy token headers2485 valid token2486 behaves like returning response status2487 returns success2488 invalid token2489 behaves like returning response status2490 returns unauthorized2491 behaves like rejects nuget access with unknown target id2492 with an unknown target2493 as anonymous2494 behaves like rejects nuget packages access2495 for user type anonymous2496 has the correct response header2497 behaves like returning response status2498 returns unauthorized2499 as authenticated user2500 behaves like rejects nuget packages access2501 for user type anonymous2502 behaves like returning response status2503 returns not_found2504 behaves like rejects nuget access with invalid target id2505 with a target id with invalid integers2506 id: "/../", status: :bad_request2507 behaves like rejects nuget packages access2508 for user type anonymous2509 behaves like returning response status2510 returns bad_request2511 id: "", status: :not_found2512 behaves like rejects nuget packages access2513 for user type anonymous2514 behaves like returning response status2515 returns not_found2516 id: "%20", status: :bad_request2517 behaves like rejects nuget packages access2518 for user type anonymous2519 behaves like returning response status2520 returns bad_request2521 id: "%2e%2e%2f", status: :bad_request2522 behaves like rejects nuget packages access2523 for user type anonymous2524 behaves like returning response status2525 returns bad_request2526 id: "NaN", status: :bad_request2527 behaves like rejects nuget packages access2528 for user type anonymous2529 behaves like returning response status2530 returns bad_request2531 id: 1253, status: :unauthorized2532 behaves like rejects nuget packages access2533 for user type anonymous2534 has the correct response header2535 behaves like returning response status2536 returns unauthorized2537 id: "anything25", status: :bad_request2538 behaves like rejects nuget packages access2539 for user type anonymous2540 behaves like returning response status2541 returns bad_request2542 GET /api/v4/groups/:id/-/packages/nuget/metadata/*package_name/*package_version2543 behaves like handling nuget metadata requests with package name and package version2544 with valid target2545 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: true, shared_examples_name: "process nuget metadata request at package name and package version level", expected_status: :success2546 behaves like process nuget metadata request at package name and package version level2547 for user type developer2548 behaves like returning response status2549 returns success2550 behaves like returning nuget metadata json response with json schema2551 returns a valid json response2552 with invalid format2553 behaves like rejects nuget packages access2554 for user type anonymous2555 behaves like returning response status2556 returns not_found2557 with lower case package name2558 behaves like returning response status2559 returns success2560 behaves like returning nuget metadata json response with json schema2561 returns a valid json response2562 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: true, shared_examples_name: "process nuget metadata request at package name and package version level", expected_status: :success2563 behaves like process nuget metadata request at package name and package version level2564 for user type guest2565 behaves like returning response status2566 returns success2567 behaves like returning nuget metadata json response with json schema2568 returns a valid json response2569 with invalid format2570 behaves like rejects nuget packages access2571 for user type anonymous2572 behaves like returning response status2573 returns not_found2574 with lower case package name2575 behaves like returning response status2576 returns success2577 behaves like returning nuget metadata json response with json schema2578 returns a valid json response2579 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2580 behaves like rejects nuget packages access2581 for user type developer2582 has the correct response header2583 behaves like returning response status2584 returns unauthorized2585 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2586 behaves like rejects nuget packages access2587 for user type guest2588 has the correct response header2589 behaves like returning response status2590 returns unauthorized2591 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: true, shared_examples_name: "process nuget metadata request at package name and package version level", expected_status: :success2592 behaves like process nuget metadata request at package name and package version level2593 for user type developer2594 behaves like returning response status2595 returns success2596 behaves like returning nuget metadata json response with json schema2597 returns a valid json response2598 with invalid format2599 behaves like rejects nuget packages access2600 for user type anonymous2601 behaves like returning response status2602 returns not_found2603 with lower case package name2604 behaves like returning response status2605 returns success2606 behaves like returning nuget metadata json response with json schema2607 returns a valid json response2608 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: true, shared_examples_name: "process nuget metadata request at package name and package version level", expected_status: :success2609 behaves like process nuget metadata request at package name and package version level2610 for user type guest2611 behaves like returning response status2612 returns success2613 behaves like returning nuget metadata json response with json schema2614 returns a valid json response2615 with invalid format2616 behaves like rejects nuget packages access2617 for user type anonymous2618 behaves like returning response status2619 returns not_found2620 with lower case package name2621 behaves like returning response status2622 returns success2623 behaves like returning nuget metadata json response with json schema2624 returns a valid json response2625 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2626 behaves like rejects nuget packages access2627 for user type developer2628 has the correct response header2629 behaves like returning response status2630 returns unauthorized2631 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2632 behaves like rejects nuget packages access2633 for user type guest2634 has the correct response header2635 behaves like returning response status2636 returns unauthorized2637 visibility_level: "PUBLIC", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2638 behaves like rejects nuget packages access2639 for user type anonymous2640 has the correct response header2641 behaves like returning response status2642 returns unauthorized2643 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: true, shared_examples_name: "process nuget metadata request at package name and package version level", expected_status: :success2644 behaves like process nuget metadata request at package name and package version level2645 for user type developer2646 behaves like returning response status2647 returns success2648 behaves like returning nuget metadata json response with json schema2649 returns a valid json response2650 with invalid format2651 behaves like rejects nuget packages access2652 for user type anonymous2653 behaves like returning response status2654 returns not_found2655 with lower case package name2656 behaves like returning response status2657 returns success2658 behaves like returning nuget metadata json response with json schema2659 returns a valid json response2660 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden2661 behaves like rejects nuget packages access2662 for user type guest2663 behaves like returning response status2664 returns forbidden2665 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2666 behaves like rejects nuget packages access2667 for user type developer2668 has the correct response header2669 behaves like returning response status2670 returns unauthorized2671 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2672 behaves like rejects nuget packages access2673 for user type guest2674 has the correct response header2675 behaves like returning response status2676 returns unauthorized2677 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :not_found2678 behaves like rejects nuget packages access2679 for user type developer2680 behaves like returning response status2681 returns not_found2682 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :not_found2683 behaves like rejects nuget packages access2684 for user type guest2685 behaves like returning response status2686 returns not_found2687 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2688 behaves like rejects nuget packages access2689 for user type developer2690 has the correct response header2691 behaves like returning response status2692 returns unauthorized2693 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2694 behaves like rejects nuget packages access2695 for user type guest2696 has the correct response header2697 behaves like returning response status2698 returns unauthorized2699 visibility_level: "PRIVATE", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2700 behaves like rejects nuget packages access2701 for user type anonymous2702 has the correct response header2703 behaves like returning response status2704 returns unauthorized2705 behaves like deploy token for package GET requests2706 with deploy token headers2707 valid token2708 behaves like returning response status2709 returns success2710 invalid token2711 behaves like returning response status2712 returns unauthorized2713 behaves like rejects nuget access with unknown target id2714 with an unknown target2715 as anonymous2716 behaves like rejects nuget packages access2717 for user type anonymous2718 has the correct response header2719 behaves like returning response status2720 returns unauthorized2721 as authenticated user2722 behaves like rejects nuget packages access2723 for user type anonymous2724 behaves like returning response status2725 returns not_found2726 behaves like rejects nuget access with invalid target id2727 with a target id with invalid integers2728 id: "/../", status: :bad_request2729 behaves like rejects nuget packages access2730 for user type anonymous2731 behaves like returning response status2732 returns bad_request2733 id: "", status: :not_found2734 behaves like rejects nuget packages access2735 for user type anonymous2736 behaves like returning response status2737 returns not_found2738 id: "%20", status: :bad_request2739 behaves like rejects nuget packages access2740 for user type anonymous2741 behaves like returning response status2742 returns bad_request2743 id: "%2e%2e%2f", status: :bad_request2744 behaves like rejects nuget packages access2745 for user type anonymous2746 behaves like returning response status2747 returns bad_request2748 id: "NaN", status: :bad_request2749 behaves like rejects nuget packages access2750 for user type anonymous2751 behaves like returning response status2752 returns bad_request2753 id: 1253, status: :unauthorized2754 behaves like rejects nuget packages access2755 for user type anonymous2756 has the correct response header2757 behaves like returning response status2758 returns unauthorized2759 id: "anything25", status: :bad_request2760 behaves like rejects nuget packages access2761 for user type anonymous2762 behaves like returning response status2763 returns bad_request2764 GET /api/v4/groups/:id/-/packages/nuget/query2765 behaves like handling nuget search requests2766 with valid target2767 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: true, shared_examples_name: "process nuget search request", expected_status: :success2768 behaves like process nuget search request2769 for user type developer2770 behaves like returns a valid json search response2771 returns a valid json response2772 behaves like returning response status2773 returns success2774 behaves like a package tracking event2775 creates a gitlab tracking event search_package2776 with skip set to 22777 behaves like returns a valid json search response2778 returns a valid json response2779 behaves like returning response status2780 returns success2781 with take set to 22782 behaves like returns a valid json search response2783 returns a valid json response2784 behaves like returning response status2785 returns success2786 without prereleases2787 behaves like returns a valid json search response2788 returns a valid json response2789 behaves like returning response status2790 returns success2791 with empty search term2792 behaves like returns a valid json search response2793 returns a valid json response2794 behaves like returning response status2795 returns success2796 with nil search term2797 behaves like returns a valid json search response2798 returns a valid json response2799 behaves like returning response status2800 returns success2801 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: true, shared_examples_name: "process nuget search request", expected_status: :success2802 behaves like process nuget search request2803 for user type guest2804 behaves like returns a valid json search response2805 returns a valid json response2806 behaves like returning response status2807 returns success2808 behaves like a package tracking event2809 creates a gitlab tracking event search_package2810 with skip set to 22811 behaves like returns a valid json search response2812 returns a valid json response2813 behaves like returning response status2814 returns success2815 with take set to 22816 behaves like returns a valid json search response2817 returns a valid json response2818 behaves like returning response status2819 returns success2820 without prereleases2821 behaves like returns a valid json search response2822 returns a valid json response2823 behaves like returning response status2824 returns success2825 with empty search term2826 behaves like returns a valid json search response2827 returns a valid json response2828 behaves like returning response status2829 returns success2830 with nil search term2831 behaves like returns a valid json search response2832 returns a valid json response2833 behaves like returning response status2834 returns success2835 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2836 behaves like rejects nuget packages access2837 for user type developer2838 has the correct response header2839 behaves like returning response status2840 returns unauthorized2841 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2842 behaves like rejects nuget packages access2843 for user type guest2844 has the correct response header2845 behaves like returning response status2846 returns unauthorized2847 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: true, shared_examples_name: "process nuget search request", expected_status: :success2848 behaves like process nuget search request2849 for user type developer2850 behaves like returns a valid json search response2851 returns a valid json response2852 behaves like returning response status2853 returns success2854 behaves like a package tracking event2855 creates a gitlab tracking event search_package2856 with skip set to 22857 behaves like returns a valid json search response2858 returns a valid json response2859 behaves like returning response status2860 returns success2861 with take set to 22862 behaves like returns a valid json search response2863 returns a valid json response2864 behaves like returning response status2865 returns success2866 without prereleases2867 behaves like returns a valid json search response2868 returns a valid json response2869 behaves like returning response status2870 returns success2871 with empty search term2872 behaves like returns a valid json search response2873 returns a valid json response2874 behaves like returning response status2875 returns success2876 with nil search term2877 behaves like returns a valid json search response2878 returns a valid json response2879 behaves like returning response status2880 returns success2881 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: true, shared_examples_name: "process nuget search request", expected_status: :success2882 behaves like process nuget search request2883 for user type guest2884 behaves like returns a valid json search response2885 returns a valid json response2886 behaves like returning response status2887 returns success2888 behaves like a package tracking event2889 creates a gitlab tracking event search_package2890 with skip set to 22891 behaves like returns a valid json search response2892 returns a valid json response2893 behaves like returning response status2894 returns success2895 with take set to 22896 behaves like returns a valid json search response2897 returns a valid json response2898 behaves like returning response status2899 returns success2900 without prereleases2901 behaves like returns a valid json search response2902 returns a valid json response2903 behaves like returning response status2904 returns success2905 with empty search term2906 behaves like returns a valid json search response2907 returns a valid json response2908 behaves like returning response status2909 returns success2910 with nil search term2911 behaves like returns a valid json search response2912 returns a valid json response2913 behaves like returning response status2914 returns success2915 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2916 behaves like rejects nuget packages access2917 for user type developer2918 has the correct response header2919 behaves like returning response status2920 returns unauthorized2921 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2922 behaves like rejects nuget packages access2923 for user type guest2924 has the correct response header2925 behaves like returning response status2926 returns unauthorized2927 visibility_level: "PUBLIC", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2928 behaves like rejects nuget packages access2929 for user type anonymous2930 has the correct response header2931 behaves like returning response status2932 returns unauthorized2933 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: true, shared_examples_name: "process nuget search request", expected_status: :success2934 behaves like process nuget search request2935 for user type developer2936 behaves like returns a valid json search response2937 returns a valid json response2938 behaves like returning response status2939 returns success2940 behaves like a package tracking event2941 creates a gitlab tracking event search_package2942 with skip set to 22943 behaves like returns a valid json search response2944 returns a valid json response2945 behaves like returning response status2946 returns success2947 with take set to 22948 behaves like returns a valid json search response2949 returns a valid json response2950 behaves like returning response status2951 returns success2952 without prereleases2953 behaves like returns a valid json search response2954 returns a valid json response2955 behaves like returning response status2956 returns success2957 with empty search term2958 behaves like returns a valid json search response2959 returns a valid json response2960 behaves like returning response status2961 returns success2962 with nil search term2963 behaves like returns a valid json search response2964 returns a valid json response2965 behaves like returning response status2966 returns success2967 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden2968 behaves like rejects nuget packages access2969 for user type guest2970 behaves like returning response status2971 returns forbidden2972 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2973 behaves like rejects nuget packages access2974 for user type developer2975 has the correct response header2976 behaves like returning response status2977 returns unauthorized2978 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2979 behaves like rejects nuget packages access2980 for user type guest2981 has the correct response header2982 behaves like returning response status2983 returns unauthorized2984 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :not_found2985 behaves like rejects nuget packages access2986 for user type developer2987 behaves like returning response status2988 returns not_found2989 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :not_found2990 behaves like rejects nuget packages access2991 for user type guest2992 behaves like returning response status2993 returns not_found2994 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2995 behaves like rejects nuget packages access2996 for user type developer2997 has the correct response header2998 behaves like returning response status2999 returns unauthorized3000 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized3001 behaves like rejects nuget packages access3002 for user type guest3003 has the correct response header3004 behaves like returning response status3005 returns unauthorized3006 visibility_level: "PRIVATE", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized3007 behaves like rejects nuget packages access3008 for user type anonymous3009 has the correct response header3010 behaves like returning response status3011 returns unauthorized3012 behaves like deploy token for package GET requests3013 with deploy token headers3014 valid token3015 behaves like returning response status3016 returns success3017 invalid token3018 behaves like returning response status3019 returns unauthorized3020 behaves like rejects nuget access with unknown target id3021 with an unknown target3022 as anonymous3023 behaves like rejects nuget packages access3024 for user type anonymous3025 has the correct response header3026 behaves like returning response status3027 returns unauthorized3028 as authenticated user3029 behaves like rejects nuget packages access3030 for user type anonymous3031 behaves like returning response status3032 returns not_found3033 behaves like rejects nuget access with invalid target id3034 with a target id with invalid integers3035 id: "/../", status: :bad_request3036 behaves like rejects nuget packages access3037 for user type anonymous3038 behaves like returning response status3039 returns bad_request3040 id: "", status: :not_found3041 behaves like rejects nuget packages access3042 for user type anonymous3043 behaves like returning response status3044 returns not_found3045 id: "%20", status: :bad_request3046 behaves like rejects nuget packages access3047 for user type anonymous3048 behaves like returning response status3049 returns bad_request3050 id: "%2e%2e%2f", status: :bad_request3051 behaves like rejects nuget packages access3052 for user type anonymous3053 behaves like returning response status3054 returns bad_request3055 id: "NaN", status: :bad_request3056 behaves like rejects nuget packages access3057 for user type anonymous3058 behaves like returning response status3059 returns bad_request3060 id: 1253, status: :unauthorized3061 behaves like rejects nuget packages access3062 for user type anonymous3063 has the correct response header3064 behaves like returning response status3065 returns unauthorized3066 id: "anything25", status: :bad_request3067 behaves like rejects nuget packages access3068 for user type anonymous3069 behaves like returning response status3070 returns bad_request3071 with dummy packages and anonymous request3072 GET /api/v4/groups/:id/-/packages/nuget/metadata/*package_name/index3073 behaves like handling mixed visibilities3074 group_visibility: "PUBLIC", subgroup_visibility: "PUBLIC", expected_status: :unauthorized3075 behaves like returning response status3076 returns unauthorized3077 group_visibility: "PUBLIC", subgroup_visibility: "INTERNAL", expected_status: :unauthorized3078 behaves like returning response status3079 returns unauthorized3080 group_visibility: "PUBLIC", subgroup_visibility: "PRIVATE", expected_status: :unauthorized3081 behaves like returning response status3082 returns unauthorized3083 group_visibility: "INTERNAL", subgroup_visibility: "INTERNAL", expected_status: :unauthorized3084 behaves like returning response status3085 returns unauthorized3086 group_visibility: "INTERNAL", subgroup_visibility: "PRIVATE", expected_status: :unauthorized3087 behaves like returning response status3088 returns unauthorized3089 group_visibility: "PRIVATE", subgroup_visibility: "PRIVATE", expected_status: :unauthorized3090 behaves like returning response status3091 returns unauthorized3092 GET /api/v4/groups/:id/-/packages/nuget/metadata/*package_name/*package_version3093 behaves like handling mixed visibilities3094 group_visibility: "PUBLIC", subgroup_visibility: "PUBLIC", expected_status: :unauthorized3095 behaves like returning response status3096 returns unauthorized3097 group_visibility: "PUBLIC", subgroup_visibility: "INTERNAL", expected_status: :unauthorized3098 behaves like returning response status3099 returns unauthorized3100 group_visibility: "PUBLIC", subgroup_visibility: "PRIVATE", expected_status: :unauthorized3101 behaves like returning response status3102 returns unauthorized3103 group_visibility: "INTERNAL", subgroup_visibility: "INTERNAL", expected_status: :unauthorized3104 behaves like returning response status3105 returns unauthorized3106 group_visibility: "INTERNAL", subgroup_visibility: "PRIVATE", expected_status: :unauthorized3107 behaves like returning response status3108 returns unauthorized3109 group_visibility: "PRIVATE", subgroup_visibility: "PRIVATE", expected_status: :unauthorized3110 behaves like returning response status3111 returns unauthorized3112 GET /api/v4/groups/:id/-/packages/nuget/query3113 behaves like handling mixed visibilities3114 group_visibility: "PUBLIC", subgroup_visibility: "PUBLIC", expected_status: :unauthorized3115 behaves like returning response status3116 returns unauthorized3117 group_visibility: "PUBLIC", subgroup_visibility: "INTERNAL", expected_status: :unauthorized3118 behaves like returning response status3119 returns unauthorized3120 group_visibility: "PUBLIC", subgroup_visibility: "PRIVATE", expected_status: :unauthorized3121 behaves like returning response status3122 returns unauthorized3123 group_visibility: "INTERNAL", subgroup_visibility: "INTERNAL", expected_status: :unauthorized3124 behaves like returning response status3125 returns unauthorized3126 group_visibility: "INTERNAL", subgroup_visibility: "PRIVATE", expected_status: :unauthorized3127 behaves like returning response status3128 returns unauthorized3129 group_visibility: "PRIVATE", subgroup_visibility: "PRIVATE", expected_status: :unauthorized3130 behaves like returning response status3131 returns unauthorized3132 with a reporter of subgroup3133 GET /api/v4/groups/:id/-/packages/nuget/metadata/*package_name/index3134 behaves like returning response status3135 returns forbidden3136 GET /api/v4/groups/:id/-/packages/nuget/metadata/*package_name/*package_version3137 behaves like returning response status3138 returns forbidden3139 GET /api/v4/groups/:id/-/packages/nuget/query3140 behaves like returning response status3141 returns forbidden3142API::ConanProjectPackages3143 GET /api/v4/projects/:id/packages/conan/v1/ping3144 behaves like conan ping endpoint3145 responds with 200 OK when no token provided3146 behaves like conan FIPS mode3147 when FIPS mode is enabled3148 behaves like returning response status3149 returns not_found3150 packages feature disabled3151 responds with 404 Not Found3152 GET /api/v4/projects/:id/packages/conan/v1/conans/search3153 behaves like conan search endpoint3154 with a public project3155 returns packages with a matching name3156 is expected to contain exactly "package-7/1.0.0@namespace805+project806/stable"3157 returns packages using a * wildcard3158 is expected to contain exactly "package-9/1.0.0@namespace807+project808/stable"3159 does not return non-matching packages3160 is expected to be blank3161 with a private project3162 role: :maintainer, packages_visible: true3163 is expected to contain exactly "package-13/1.0.0@namespace811+project812/stable"3164 role: :developer, packages_visible: true3165 is expected to contain exactly "package-15/1.0.0@namespace813+project814/stable"3166 role: :reporter, packages_visible: true3167 is expected to contain exactly "package-17/1.0.0@namespace815+project816/stable"3168 role: :guest, packages_visible: false3169 is expected to be blank3170 role: :anonymous, packages_visible: false3171 is expected to be blank3172 behaves like conan FIPS mode3173 when FIPS mode is enabled3174 behaves like returning response status3175 returns not_found3176 GET /api/v4/projects/:id/packages/conan/v1/users/authenticate3177 behaves like conan authenticate endpoint3178 responds with 401 Unauthorized when an invalid access token is provided3179 responds with 401 Unauthorized when the provided JWT is signed with different secret3180 responds with 401 UnauthorizedOK when invalid JWT is provided3181 behaves like conan FIPS mode3182 when FIPS mode is enabled3183 behaves like returning response status3184 returns not_found3185 when using invalid token3186 responds with 4013187 when valid JWT access token is provided3188 responds with 2003189 token has valid validity time3190 with valid job token3191 responds with 2003192 with valid deploy token3193 responds with 2003194 GET /api/v4/projects/:id/packages/conan/v1/users/check_credentials3195 behaves like conan check_credentials endpoint3196 responds with a 200 OK with PAT3197 responds with a 401 Unauthorized when an invalid token is used3198 behaves like conan FIPS mode3199 when FIPS mode is enabled3200 behaves like returning response status3201 returns not_found3202 with job token3203 responds with a 200 OK with job token3204 with deploy token3205 responds with a 200 OK with job token3206 recipe endpoints3207 GET /api/v4/projects/:id/packages/conan/v1/conans/:package_name/package_version/:package_username/:package_channel3208 behaves like recipe snapshot endpoint3209 behaves like conan FIPS mode3210 when FIPS mode is enabled3211 behaves like returning response status3212 returns not_found3213 behaves like rejects invalid recipe3214 with invalid recipe path3215 returns 4003216 behaves like rejects recipe for invalid project3217 with invalid project3218 behaves like not found request3219 returns not found3220 behaves like empty recipe for not found package3221 with invalid recipe url3222 returns not found3223 behaves like handling empty values for username and channel3224 username: "username", channel: "channel", status: :ok3225 returns the correct status code3226 username: "username", channel: "_", status: :bad_request3227 returns the correct status code3228 username: "_", channel: "channel", status: :bad_request_or_not_found3229 returns the correct status code3230 username: "_", channel: "_", status: :ok_or_not_found3231 returns the correct status code3232 with existing package3233 returns a hash of files with their md5 hashes3234 GET /api/v4/projects/:id/packages/conan/v1/conans/:package_name/package_version/:package_username/:package_channel/packages/:conan_package_reference3235 behaves like package snapshot endpoint3236 behaves like conan FIPS mode3237 when FIPS mode is enabled3238 behaves like returning response status3239 returns not_found3240 behaves like rejects invalid recipe3241 with invalid recipe path3242 returns 4003243 behaves like rejects recipe for invalid project3244 with invalid project3245 behaves like not found request3246 returns not found3247 behaves like empty recipe for not found package3248 with invalid recipe url3249 returns not found3250 behaves like handling empty values for username and channel3251 username: "username", channel: "channel", status: :ok3252 returns the correct status code3253 username: "username", channel: "_", status: :bad_request3254 returns the correct status code3255 username: "_", channel: "channel", status: :bad_request_or_not_found3256 returns the correct status code3257 username: "_", channel: "_", status: :ok_or_not_found3258 returns the correct status code3259 with existing package3260 returns a hash of md5 values for the files3261 GET /api/v4/projects/:id/packages/conan/v1/conans/:package_name/package_version/:package_username/:package_channel/digest3262 behaves like recipe download_urls endpoint3263 behaves like conan FIPS mode3264 when FIPS mode is enabled3265 behaves like returning response status3266 returns not_found3267 behaves like rejects invalid recipe3268 with invalid recipe path3269 returns 4003270 behaves like rejects recipe for invalid project3271 with invalid project3272 behaves like not found request3273 returns not found3274 behaves like recipe download_urls3275 returns the download_urls for the recipe files3276 behaves like not selecting a package with the wrong type3277 with a nuget package with same name and version3278 calls the presenter with a nil package3279 behaves like handling empty values for username and channel3280 username: "username", channel: "channel", status: :ok3281 returns the correct status code3282 username: "username", channel: "_", status: :bad_request3283 returns the correct status code3284 username: "_", channel: "channel", status: :bad_request_or_not_found3285 returns the correct status code3286 username: "_", channel: "_", status: :ok_or_not_found3287 returns the correct status code3288 GET /api/v4/projects/:id/packages/conan/v1/conans/:package_name/package_version/:package_username/:package_channel/packages/:conan_package_reference/download_urls3289 behaves like package download_urls endpoint3290 behaves like conan FIPS mode3291 when FIPS mode is enabled3292 behaves like returning response status3293 returns not_found3294 behaves like rejects invalid recipe3295 with invalid recipe path3296 returns 4003297 behaves like rejects recipe for invalid project3298 with invalid project3299 behaves like not found request3300 returns not found3301 behaves like package download_urls3302 returns the download_urls for the package files3303 behaves like not selecting a package with the wrong type3304 with a nuget package with same name and version3305 calls the presenter with a nil package3306 behaves like handling empty values for username and channel3307 username: "username", channel: "channel", status: :ok3308 returns the correct status code3309 username: "username", channel: "_", status: :bad_request3310 returns the correct status code3311 username: "_", channel: "channel", status: :bad_request_or_not_found3312 returns the correct status code3313 username: "_", channel: "_", status: :ok_or_not_found3314 returns the correct status code3315 GET /api/v4/projects/:id/packages/conan/v1/conans/:package_name/package_version/:package_username/:package_channel/download_urls3316 behaves like recipe download_urls endpoint3317 behaves like conan FIPS mode3318 when FIPS mode is enabled3319 behaves like returning response status3320 returns not_found3321 behaves like rejects invalid recipe3322 with invalid recipe path3323 returns 4003324 behaves like rejects recipe for invalid project3325 with invalid project3326 behaves like not found request3327 returns not found3328 behaves like recipe download_urls3329 returns the download_urls for the recipe files3330 behaves like not selecting a package with the wrong type3331 with a nuget package with same name and version3332 calls the presenter with a nil package3333 behaves like handling empty values for username and channel3334 username: "username", channel: "channel", status: :ok3335 returns the correct status code3336 username: "username", channel: "_", status: :bad_request3337 returns the correct status code3338 username: "_", channel: "channel", status: :bad_request_or_not_found3339 returns the correct status code3340 username: "_", channel: "_", status: :ok_or_not_found3341 returns the correct status code3342 GET /api/v4/projects/:id/packages/conan/v1/conans/:package_name/package_version/:package_username/:package_channel/packages/:conan_package_reference/digest3343 behaves like package download_urls endpoint3344 behaves like conan FIPS mode3345 when FIPS mode is enabled3346 behaves like returning response status3347 returns not_found3348 behaves like rejects invalid recipe3349 with invalid recipe path3350 returns 4003351 behaves like rejects recipe for invalid project3352 with invalid project3353 behaves like not found request3354 returns not found3355 behaves like package download_urls3356 returns the download_urls for the package files3357 behaves like not selecting a package with the wrong type3358 with a nuget package with same name and version3359 calls the presenter with a nil package3360 behaves like handling empty values for username and channel3361 username: "username", channel: "channel", status: :ok3362 returns the correct status code3363 username: "username", channel: "_", status: :bad_request3364 returns the correct status code3365 username: "_", channel: "channel", status: :bad_request_or_not_found3366 returns the correct status code3367 username: "_", channel: "_", status: :ok_or_not_found3368 returns the correct status code3369 POST /api/v4/projects/:id/packages/conan/v1/conans/:package_name/package_version/:package_username/:package_channel/upload_urls3370 behaves like recipe upload_urls endpoint3371 returns a set of upload urls for the files requested3372 behaves like conan FIPS mode3373 when FIPS mode is enabled3374 behaves like returning response status3375 returns not_found3376 behaves like rejects invalid recipe3377 with invalid recipe path3378 returns 4003379 behaves like rejects invalid upload_url params3380 with unaccepted json format3381 returns 4003382 behaves like handling empty values for username and channel3383 username: "username", channel: "channel", status: :ok3384 returns the correct status code3385 username: "username", channel: "_", status: :bad_request3386 returns the correct status code3387 username: "_", channel: "channel", status: :bad_request_or_not_found3388 returns the correct status code3389 username: "_", channel: "_", status: :ok_or_not_found3390 returns the correct status code3391 with conan_sources and conan_export files3392 returns upload urls for the additional files3393 with an invalid file3394 does not return the invalid file as an upload_url3395 POST /api/v4/projects/:id/packages/conan/v1/conans/:package_name/package_version/:package_username/:package_channel/packages/:conan_package_reference/upload_urls3396 behaves like package upload_urls endpoint3397 returns a set of upload urls for the files requested3398 behaves like conan FIPS mode3399 when FIPS mode is enabled3400 behaves like returning response status3401 returns not_found3402 behaves like rejects invalid recipe3403 with invalid recipe path3404 returns 4003405 behaves like rejects invalid upload_url params3406 with unaccepted json format3407 returns 4003408 behaves like handling empty values for username and channel3409 username: "username", channel: "channel", status: :ok3410 returns the correct status code3411 username: "username", channel: "_", status: :bad_request3412 returns the correct status code3413 username: "_", channel: "channel", status: :bad_request_or_not_found3414 returns the correct status code3415 username: "_", channel: "_", status: :ok_or_not_found3416 returns the correct status code3417 with invalid files3418 returns upload urls only for the valid requested files3419 DELETE /api/v4/projects/:id/packages/conan/v1/conans/:package_name/package_version/:package_username/:package_channel3420 behaves like delete package endpoint3421 returns unauthorized for users without valid permission3422 behaves like conan FIPS mode3423 when FIPS mode is enabled3424 behaves like returning response status3425 returns not_found3426 behaves like rejects invalid recipe3427 with invalid recipe path3428 returns 4003429 behaves like handling empty values for username and channel3430 username: "username", channel: "channel", status: :ok3431 returns the correct status code3432 username: "username", channel: "_", status: :bad_request3433 returns the correct status code3434 username: "_", channel: "channel", status: :bad_request_or_not_found3435 returns the correct status code3436 username: "_", channel: "_", status: :ok_or_not_found3437 returns the correct status code3438 with delete permissions3439 deletes a package3440 behaves like a gitlab tracking event3441 creates a gitlab tracking event delete_package3442 file upload endpoints3443 PUT /api/v4/projects/:id/packages/conan/v1/files/:package_name/package_version/:package_username/:package_channel/:recipe_revision/export/:file_name/authorize3444 behaves like workhorse authorize endpoint3445 behaves like conan FIPS mode3446 when FIPS mode is enabled3447 behaves like returning response status3448 returns not_found3449 behaves like rejects invalid recipe3450 with invalid recipe path3451 returns 4003452 behaves like rejects invalid file_name3453 with invalid file_name3454 returns 4003455 behaves like workhorse authorization3456 authorizes posting package with a valid token3457 rejects request without a valid token3458 rejects request without a valid permission3459 rejects requests that bypassed gitlab-workhorse3460 when using remote storage3461 when direct upload is enabled3462 responds with status 200, location of package remote store and object details3463 when direct upload is disabled3464 handles as a local file3465 behaves like handling empty values for username and channel3466 username: "username", channel: "channel", status: :ok3467 returns the correct status code3468 username: "username", channel: "_", status: :bad_request3469 returns the correct status code3470 username: "_", channel: "channel", status: :bad_request_or_not_found3471 returns the correct status code3472 username: "_", channel: "_", status: :ok_or_not_found3473 returns the correct status code3474 PUT /api/v4/projects/:id/packages/conan/v1/files/:package_name/package_version/:package_username/:package_channel/:recipe_revision/export/:conan_package_reference/:package_revision/:file_name/authorize3475 behaves like workhorse authorize endpoint3476 behaves like conan FIPS mode3477 when FIPS mode is enabled3478 behaves like returning response status3479 returns not_found3480 behaves like rejects invalid recipe3481 with invalid recipe path3482 returns 4003483 behaves like rejects invalid file_name3484 with invalid file_name3485 returns 4003486 behaves like workhorse authorization3487 authorizes posting package with a valid token3488 rejects request without a valid token3489 rejects request without a valid permission3490 rejects requests that bypassed gitlab-workhorse3491 when using remote storage3492 when direct upload is enabled3493 responds with status 200, location of package remote store and object details3494 when direct upload is disabled3495 handles as a local file3496 behaves like handling empty values for username and channel3497 username: "username", channel: "channel", status: :ok3498 returns the correct status code3499 username: "username", channel: "_", status: :bad_request3500 returns the correct status code3501 username: "_", channel: "channel", status: :bad_request_or_not_found3502 returns the correct status code3503 username: "_", channel: "_", status: :ok_or_not_found3504 returns the correct status code3505 PUT /api/v4/projects/:id/packages/conan/v1/files/:package_name/package_version/:package_username/:package_channel/:recipe_revision/export/:file_name3506 behaves like workhorse recipe file upload endpoint3507 behaves like conan FIPS mode3508 when FIPS mode is enabled3509 behaves like returning response status3510 returns not_found3511 behaves like rejects invalid recipe3512 with invalid recipe path3513 returns 4003514 behaves like rejects invalid file_name3515 with invalid file_name3516 returns 4003517 behaves like uploads a package file3518 file size above maximum limit3519 handles as a local file3520 with object storage disabled3521 without a file from workhorse3522 rejects the request3523 with a file3524 behaves like package workhorse uploads3525 without a workhorse header3526 logs an error3527 behaves like returning response status3528 returns forbidden3529 without a token3530 rejects request without a token3531 when params from workhorse are correct3532 creates package and stores package file3533 doesn't attempt to migrate file to object storage3534 with existing package3535 does not create a new package3536 marked as pending_destruction3537 does not create a new package3538 with object storage enabled3539 and direct upload enabled3540 with invalid remote_id: 1231233541 responds with status 4033542 with invalid remote_id: ../../1231233543 responds with status 4033544 with valid remote_id3545 creates package and stores package file3546 behaves like background upload schedules a file migration3547 background upload enabled3548 schedules migration of file to object storage3549 behaves like handling empty values for username and channel3550 username: "username", channel: "channel", status: :ok3551 returns the correct status code3552 username: "username", channel: "_", status: :bad_request3553 returns the correct status code3554 username: "_", channel: "channel", status: :bad_request_or_not_found3555 returns the correct status code3556 username: "_", channel: "_", status: :ok_or_not_found3557 returns the correct status code3558 behaves like handling validation error for package3559 with validation error3560 returns 4003561 PUT /api/v4/projects/:id/packages/conan/v1/files/:package_name/package_version/:package_username/:package_channel/:recipe_revision/export/:conan_package_reference/:package_revision/:file_name3562 behaves like workhorse package file upload endpoint3563 behaves like rejects invalid recipe3564 with invalid recipe path3565 returns 4003566 behaves like rejects invalid file_name3567 with invalid file_name3568 returns 4003569 behaves like uploads a package file3570 file size above maximum limit3571 handles as a local file3572 with object storage disabled3573 without a file from workhorse3574 rejects the request3575 with a file3576 behaves like package workhorse uploads3577 without a workhorse header3578 logs an error3579 behaves like returning response status3580 returns forbidden3581 without a token3582 rejects request without a token3583 when params from workhorse are correct3584 creates package and stores package file3585 doesn't attempt to migrate file to object storage3586 with existing package3587 does not create a new package3588 marked as pending_destruction3589 does not create a new package3590 with object storage enabled3591 and direct upload enabled3592 with invalid remote_id: 1231233593 responds with status 4033594 with invalid remote_id: ../../1231233595 responds with status 4033596 with valid remote_id3597 creates package and stores package file3598 behaves like background upload schedules a file migration3599 background upload enabled3600 schedules migration of file to object storage3601 behaves like handling empty values for username and channel3602 username: "username", channel: "channel", status: :ok3603 returns the correct status code3604 username: "username", channel: "_", status: :bad_request3605 returns the correct status code3606 username: "_", channel: "channel", status: :bad_request_or_not_found3607 returns the correct status code3608 username: "_", channel: "_", status: :ok_or_not_found3609 returns the correct status code3610 behaves like handling validation error for package3611 with validation error3612 returns 4003613 tracking the conan_package.tgz upload3614 behaves like a gitlab tracking event3615 creates a gitlab tracking event push_package3616Projects::MergeRequestsController3617 GET commit_change_content3618 renders commit_change_content template3619 GET show3620 with view param3621 saves the preferred diff view in a cookie3622 when merge request is unchecked3623 checks mergeability asynchronously3624 as html3625 sets the endpoint_metadata_url3626 renders merge request page3627 logs the view with Gitlab::Search::RecentMergeRequests3628 when diff files were cleaned3629 renders page when diff size is not persisted and diff_refs does not exist3630 when diff is missing3631 renders merge request page3632 that is invalid3633 renders merge request page3634 when project has moved3635 redirects from an old merge request correctly3636 redirects from an old merge request commits correctly3637 when user is setting notes filters3638 behaves like issuable notes filter3639 sets discussion filter3640 expires notes e-tag cache for issuable if filter changed3641 does not expires notes e-tag cache for issuable if filter did not change3642 does not set notes filter when database is in read-only mode3643 does not set notes filter when persist_filter param is false3644 returns only user comments3645 returns only activity notes3646 when filter is set to "only_comments"3647 does not merge label event notes3648 as json3649 with basic serializer param3650 renders basic MR entity as json3651 with widget serializer param3652 renders widget MR entity as json3653 when no serialiser was passed3654 renders widget MR entity as json3655 that is invalid3656 renders merge request page3657 as diff3658 triggers workhorse to serve the request3659 as patch3660 triggers workhorse to serve the request3661 GET index3662 behaves like issuables list meta-data3663 creates indexed meta-data object for issuable notes and votes count3664 avoids N+1 queries3665 searching3666 works when sorting by created_asc3667 works when sorting by created_at_asc3668 works when sorting by created_date3669 works when sorting by created_desc3670 works when sorting by created_at_desc3671 works when sorting by id_asc3672 works when sorting by id_desc3673 works when sorting by updated_asc3674 works when sorting by updated_at_asc3675 works when sorting by updated_desc3676 works when sorting by updated_at_desc3677 works when sorting by title_asc3678 works when sorting by title_desc3679 works when sorting by closest_future_date3680 works when sorting by closest_future_date_asc3681 works when sorting by due_date3682 works when sorting by due_date_asc3683 works when sorting by due_date_desc3684 works when sorting by relative_position3685 works when sorting by relative_position_asc3686 works when sorting by weight3687 works when sorting by weight_asc3688 works when sorting by weight_desc3689 works when sorting by popularity3690 works when sorting by priority3691 works when sorting by label_priority3692 when given empty collection3693 doesn't execute any queries with false conditions3694 behaves like set sort order from user preference3695 #set_sort_order_from_user_preference3696 when database is in read-only mode3697 does not update user preference3698 when database is not in read-only mode3699 updates user preference3700 when page param3701 redirects to last_page if page number is larger than number of pages3702 redirects to specified page3703 does not redirect to external sites when provided a host field3704 when filtering by opened state3705 with opened merge requests3706 lists those merge requests3707 with reopened merge requests3708 lists those merge requests3709 behaves like issuable list with anonymous search disabled3710 when disable_anonymous_search is enabled3711 shows a flash message3712 when search param is not given3713 does not show a flash message3714 when user is signed-in3715 does not show a flash message3716 when format is not HTML3717 does not show a flash message3718 when disable_anonymous_search is disabled3719 does not show a flash message3720 PUT update3721 changing the assignee3722 limits the attributes exposed on the assignee3723 when user does not have access to update issue3724 responds with 4043725 there is no source project3726 closes MR without errors3727 allows editing of a closed merge request3728 does not allow to update target branch closed merge request3729 behaves like update invalid issuable3730 when updating causes conflicts3731 renders edit when format is html3732 renders json error message when format is json3733 when updating an invalid issuable3734 renders edit when merge request is invalid3735 two merge requests with the same source branch3736 does not allow a closed merge request to be reopened if another one is open3737 POST merge3738 when user cannot access3739 returns 4043740 when the merge request is not mergeable3741 returns :failed3742 when the sha parameter does not match the source SHA3743 returns :sha_mismatch3744 when the sha parameter matches the source SHA3745 returns :success3746 starts the merge immediately with permitted params3747 when squash is passed as 13748 updates the squash attribute on the MR to true3749 when squash is passed as 03750 updates the squash attribute on the MR to false3751 when a squash commit message is passed3752 passes the same message to SquashService3753 when merge when pipeline succeeds option is passed3754 returns :merge_when_pipeline_succeeds3755 sets the MR to merge when the pipeline succeeds3756 when project.only_allow_merge_if_pipeline_succeeds? is true3757 returns :merge_when_pipeline_succeeds3758 and head pipeline is not the current one3759 returns :failed3760 when auto merge has not been enabled yet3761 calls AutoMergeService#execute3762 when auto merge has already been enabled3763 calls AutoMergeService#update3764 only_allow_merge_if_all_discussions_are_resolved? setting3765 when enabled3766 with unresolved discussion3767 returns :failed3768 with all discussions resolved3769 returns :success3770 when disabled3771 with unresolved discussion3772 returns :success3773 with all discussions resolved3774 returns :success3775 DELETE destroy3776 denies access to users unless they're admin or project owner3777 when the user is owner3778 deletes the merge request3779 prevents deletion if destroy_confirm is not set3780 prevents deletion in JSON format if destroy_confirm is not set3781 GET commits3782 renders the commits template to a string3783 GET pipelines3784 with "enabled" builds on a public project3785 for a project owner3786 responds with serialized pipelines3787 for an unassociated user3788 responds with no pipelines3789 with private builds on a public project3790 for a project owner3791 responds with serialized pipelines3792 for an unassociated user3793 responds with no pipelines3794 from a project fork3795 with private builds3796 for the target project member3797 does not respond with serialized pipelines3798 for the source project member3799 responds with serialized pipelines3800 with public builds3801 for the target project member3802 does not respond with serialized pipelines3803 for the source project member3804 responds with serialized pipelines3805 with pagination3806 paginates the result3807 GET context commits3808 returns the commits for context commits3809 GET exposed_artifacts3810 permissions on a public project with private CI/CD3811 while signed out3812 responds with a 4043813 while signed in as an unrelated user3814 responds with a 4043815 when pipeline has jobs with exposed artifacts3816 when fetching exposed artifacts is in progress3817 sends polling interval3818 returns 204 HTTP status3819 when fetching exposed artifacts is completed3820 returns exposed artifacts3821 when pipeline does not have jobs with exposed artifacts3822 returns no content3823 GET coverage_reports3824 permissions on a public project with private CI/CD3825 while signed out3826 responds with a 4043827 while signed in as an unrelated user3828 responds with a 4043829 when pipeline has jobs with coverage reports3830 when processing coverage reports is in progress3831 sends polling interval3832 returns 204 HTTP status3833 when processing coverage reports is completed3834 returns coverage reports3835 when user created corrupted coverage reports3836 does not send polling interval3837 returns 400 HTTP status3838 when pipeline does not have jobs with coverage reports3839 returns no content3840 GET codequality_mr_diff_reports3841 permissions on a public project with private CI/CD3842 while signed out3843 responds with a 4043844 while signed in as an unrelated user3845 responds with a 4043846 when pipeline has jobs with codequality mr diff report3847 when processing codequality mr diff report is in progress3848 sends polling interval3849 returns 204 HTTP status3850 when processing codequality mr diff report is completed3851 returns codequality mr diff report3852 GET terraform_reports3853 permissions on a public project with private CI/CD3854 while signed out3855 responds with a 4043856 while signed in as an unrelated user3857 responds with a 4043858 when pipeline has jobs with terraform reports3859 when processing terraform reports is in progress3860 sends polling interval3861 returns 204 HTTP status3862 when processing terraform reports is completed3863 returns terraform reports3864 when user created corrupted terraform reports3865 does not send polling interval3866 returns 400 HTTP status3867 when pipeline does not have jobs with terraform reports3868 returns error3869 GET test_reports3870 permissions on a public project with private CI/CD3871 while signed out3872 responds with a 4043873 while signed in as an unrelated user3874 responds with a 4043875 when comparison is being processed3876 sends polling interval3877 returns 204 HTTP status3878 when comparison is done3879 does not send polling interval3880 returns 200 HTTP status3881 when user created corrupted test reports3882 does not send polling interval3883 returns 400 HTTP status3884 GET accessibility_reports3885 permissions on a public project with private CI/CD3886 while signed out3887 responds with a 4043888 while signed in as an unrelated user3889 responds with a 4043890 when pipeline has jobs with accessibility reports3891 when processing accessibility reports is in progress3892 sends polling interval3893 returns 204 HTTP status3894 when processing accessibility reports is completed3895 returns accessibility reports3896 when user created corrupted accessibility reports3897 does not send polling interval3898 returns 400 HTTP status3899 GET codequality_reports3900 permissions on a public project with private CI/CD3901 while signed out3902 responds with a 4043903 while signed in as an unrelated user3904 responds with a 4043905 when pipeline has jobs with codequality reports3906 when processing codequality reports is in progress3907 sends polling interval3908 returns 204 HTTP status3909 when processing codequality reports is completed3910 returns codequality reports3911 when pipeline has job without a codequality report3912 returns a 4003913 POST remove_wip3914 removes the draft status3915 renders MergeRequest as JSON3916 POST cancel_auto_merge3917 calls AutoMergeService3918 is expected to respond with numeric status code success3919 renders MergeRequest as JSON3920 POST assign_related_issues3921 shows a flash message on success3922 correctly pluralizes flash message on success3923 calls MergeRequests::AssignIssuesService3924 is skipped when not signed in3925 GET ci_environments_status3926 uses the explicitly linked deployments3927 the environment is from a forked project3928 links to the environment on that project3929 keeps queries in check3930 has no N+1 SQL issues for environments3931 when environment_target is 'merge_commit'3932 returns nothing3933 when is merged3934 returns the environment on the source project3935 when a merge request has multiple environments with deployments3936 exposes multiple environment statuses3937 when route map is not present in the project3938 does not have N+1 Gitaly requests for environments3939 when there is route map present in a project3940 does not have N+1 Gitaly requests for diff files3941 GET pipeline_status.json3942 when head_pipeline exists3943 returns a detailed head_pipeline status in json3944 with project member visibility on a public project3945 returns pipeline data to project members3946 returns blank OK response to non-project-members3947 when head_pipeline does not exist3948 returns blank OK response3949 POST #rebase3950 successfully3951 with skip_ci not specified3952 behaves like successful rebase scheduler3953 enqueues a RebaseWorker3954 with skip_ci enabled3955 behaves like successful rebase scheduler3956 enqueues a RebaseWorker3957 with skip_ci disabled3958 behaves like successful rebase scheduler3959 enqueues a RebaseWorker3960 with NOWAIT lock3961 returns a 4093962 when source branch is protected from force push3963 returns 4043964 with a forked project3965 user cannot push to source branch3966 returns 4043967 user can push to source branch3968 returns 2003969 GET discussions3970 when authenticated3971 returns 2003972 highlight preloading3973 with commit diff notes3974 preloads notes diffs highlights3975 with diff notes3976 preloads notes diffs highlights3977 does not preload highlights when diff note is resolved3979 behaves like discussions provider3980 returns the expected discussions3981 GET edit3982 responds successfully3983 assigns the noteable to make sure autocompletes work3984 POST export_csv3985 redirects to the merge request index3986 enqueues an IssuableExportCsvWorker worker3987Projects::ClustersController3988 GET index3989 functionality3990 when project has one or more clusters3991 lists available clusters and renders html3992 lists available clusters with json serializer3993 sets the polling interval header for json requests3994 feature flag is disabled3995 does not list any clusters3996 when page is specified3997 redirects to the page3998 displays cluster list for associated page3999 when project does not have a cluster4000 returns an empty state page4001 security4002 is allowed for admin when admin mode enabled4003 is disabled for admin when admin mode disabled4004 is expected to be allowed for owner. Expected: 200,201,204,302 Got: 2004005 is expected to be allowed for maintainer. Expected: 200,201,204,302 Got: 2004006 is expected to be allowed for developer. Expected: 200,201,204,302 Got: 2004007 is expected to be denied for reporter. Expected: 401,404 Got: 4044008 is expected to be denied for guest. Expected: 401,404 Got: 4044009 is expected to be denied for user. Expected: 401,404 Got: 4044010 is expected to be denied for external. Expected: 401,404 Got: 4044011 GET #prometheus_proxy4012 behaves like metrics dashboard prometheus api proxy4013 with valid requests4014 with success result4015 returns prometheus response4016 with nil query4017 does not raise error4018 with nil result4019 returns 204 no_content4020 with 404 result4021 returns body4022 with error result4023 with http_status4024 sets the http response status code4025 without http_status4026 returns bad_request4027 with inappropriate requests4028 without correct permissions4029 returns 4044030 with invalid proxyable id4031 returns 4044032 with anonymous user4033 redirects to signin page4034 behaves like GET #metrics_dashboard for dashboard4035 returns correct dashboard4036 behaves like GET #metrics_dashboard correctly formatted response4037 returns a json object with the correct keys4038 POST create for existing cluster4039 feature flag is disabled4040 responds with :not_found4041 functionality4042 when creates a cluster4043 creates a new cluster4044 when creates a RBAC-enabled cluster4045 creates a new cluster4046 when creates a user-managed cluster4047 creates a new user-managed cluster4048 security4049 is allowed for admin when admin mode enabled4050 is disabled for admin when admin mode disabled4051 is expected to be allowed for owner. Expected: 200,201,204,302 Got: 3024052 is expected to be allowed for maintainer. Expected: 200,201,204,302 Got: 3024053 is expected to be denied for developer. Expected: 401,404 Got: 4044054 is expected to be denied for reporter. Expected: 401,404 Got: 4044055 is expected to be denied for guest. Expected: 401,404 Got: 4044056 is expected to be denied for user. Expected: 401,404 Got: 4044057 is expected to be denied for external. Expected: 401,404 Got: 4044058 DELETE clear cluster cache4059 deletes the namespaces associated with the cluster4060 feature flag is disabled4061 responds with :not_found4062 security4063 is allowed for admin when admin mode enabled4064 is disabled for admin when admin mode disabled4065 is expected to be allowed for owner. Expected: 200,201,204,302 Got: 3024066 is expected to be allowed for maintainer. Expected: 200,201,204,302 Got: 3024067 is expected to be denied for developer. Expected: 401,404 Got: 4044068 is expected to be denied for reporter. Expected: 401,404 Got: 4044069 is expected to be denied for guest. Expected: 401,404 Got: 4044070 is expected to be denied for user. Expected: 401,404 Got: 4044071 is expected to be denied for external. Expected: 401,404 Got: 4044072 GET cluster_status4073 feature flag is disabled4074 responds with :not_found4075 functionality4076 responds with matching schema4077 invokes schedule_status_update on each application4078 security4079 is allowed for admin when admin mode enabled4080 is disabled for admin when admin mode disabled4081 is expected to be allowed for owner. Expected: 200,201,204,302 Got: 2004082 is expected to be allowed for maintainer. Expected: 200,201,204,302 Got: 2004083 is expected to be denied for developer. Expected: 401,404 Got: 4044084 is expected to be denied for reporter. Expected: 401,404 Got: 4044085 is expected to be denied for guest. Expected: 401,404 Got: 4044086 is expected to be denied for user. Expected: 401,404 Got: 4044087 is expected to be denied for external. Expected: 401,404 Got: 4044088 GET show4089 feature flag is disabled4090 responds with :not_found4091 functionality4092 renders view4093 renders integration tab view4094 security4095 is allowed for admin when admin mode enabled4096 is disabled for admin when admin mode disabled4097 is expected to be allowed for owner. Expected: 200,201,204,302 Got: 2004098 is expected to be allowed for maintainer. Expected: 200,201,204,302 Got: 2004099 is expected to be allowed for developer. Expected: 200,201,204,302 Got: 2004100 is expected to be denied for reporter. Expected: 401,404 Got: 4044101 is expected to be denied for guest. Expected: 401,404 Got: 4044102 is expected to be denied for user. Expected: 401,404 Got: 4044103 is expected to be denied for external. Expected: 401,404 Got: 4044104 PUT update4105 updates and redirects back to show page4106 feature flag is disabled4107 responds with :not_found4108 when format is json4109 when changing parameters4110 when valid parameters are used4111 updates and redirects back to show page4112 when invalid parameters are used4113 rejects changes4114 security4115 is allowed for admin when admin mode enabled4116 is disabled for admin when admin mode disabled4117 is expected to be allowed for owner. Expected: 200,201,204,302 Got: 3024118 is expected to be allowed for maintainer. Expected: 200,201,204,302 Got: 3024119 is expected to be denied for developer. Expected: 401,404 Got: 4044120 is expected to be denied for reporter. Expected: 401,404 Got: 4044121 is expected to be denied for guest. Expected: 401,404 Got: 4044122 is expected to be denied for user. Expected: 401,404 Got: 4044123 is expected to be denied for external. Expected: 401,404 Got: 4044124 DELETE destroy4125 feature flag is disabled4126 responds with :not_found4127 functionality4128 when cluster is provided by GCP4129 when cluster is created4130 destroys and redirects back to clusters list4131 when cluster is being created4132 destroys and redirects back to clusters list4133 when cluster is provided by user4134 destroys and redirects back to clusters list4135 security4136 is allowed for admin when admin mode enabled4137 is disabled for admin when admin mode disabled4138 is expected to be allowed for owner. Expected: 200,201,204,302 Got: 3024139 is expected to be allowed for maintainer. Expected: 200,201,204,302 Got: 3024140 is expected to be denied for developer. Expected: 401,404 Got: 4044141 is expected to be denied for reporter. Expected: 401,404 Got: 4044142 is expected to be denied for guest. Expected: 401,404 Got: 4044143 is expected to be denied for user. Expected: 401,404 Got: 4044144 is expected to be denied for external. Expected: 401,404 Got: 4044145 no project_id param4146 does not respond to any action without project_id param4147API::ProjectSnippets4148 GET /projects/:project_id/snippets/:id/user_agent_detail4149 exposes known attributes4150 respects project scoping4151 returns unauthorized for non-admin users4152 with snippets disabled4153 behaves like 403 response4154 returns 4034155 GET /projects/:project_id/snippets/4156 returns all snippets available to team member4157 hides private snippets from regular user4158 with snippets disabled4159 behaves like 403 response4160 returns 4034161 GET /projects/:project_id/snippets/:id4162 returns snippet json4163 returns 404 for invalid snippet id4164 with snippets disabled4165 behaves like 403 response4166 returns 4034167 behaves like project snippet access levels4168 behaves like unauthenticated project snippet access4169 project_visibility: :public, snippet_visibility: :public, status: :ok4170 behaves like expected response status4171 returns the correct response4172 project_visibility: :public, snippet_visibility: :private, status: :not_found4173 behaves like expected response status4174 returns the correct response4175 project_visibility: :public, snippet_visibility: :internal, status: :not_found4176 behaves like expected response status4177 returns the correct response4178 project_visibility: :internal, snippet_visibility: :public, status: :not_found4179 behaves like expected response status4180 returns the correct response4181 project_visibility: :private, snippet_visibility: :public, status: :not_found4182 behaves like expected response status4183 returns the correct response4184 behaves like non-member project snippet access4185 project_visibility: :public, snippet_visibility: :public, status: :ok4186 behaves like expected response status4187 returns the correct response4188 project_visibility: :public, snippet_visibility: :internal, status: :ok4189 behaves like expected response status4190 returns the correct response4191 project_visibility: :internal, snippet_visibility: :public, status: :ok4192 behaves like expected response status4193 returns the correct response4194 project_visibility: :public, snippet_visibility: :private, status: :not_found4195 behaves like expected response status4196 returns the correct response4197 project_visibility: :private, snippet_visibility: :public, status: :not_found4198 behaves like expected response status4199 returns the correct response4200 behaves like member project snippet access4201 project_visibility: :public, snippet_visibility: :public, status: :ok4202 behaves like expected response status4203 returns the correct response4204 project_visibility: :public, snippet_visibility: :internal, status: :ok4205 behaves like expected response status4206 returns the correct response4207 project_visibility: :internal, snippet_visibility: :public, status: :ok4208 behaves like expected response status4209 returns the correct response4210 project_visibility: :public, snippet_visibility: :private, status: :ok4211 behaves like expected response status4212 returns the correct response4213 project_visibility: :private, snippet_visibility: :public, status: :ok4214 behaves like expected response status4215 returns the correct response4216 POST /projects/:project_id/snippets/4217 with an external user4218 that belongs to the project4219 creates a new snippet4220 that does not belong to the project4221 does not create a new snippet4222 with a regular user4223 creates a new snippet4224 behaves like project snippet repository actions4225 commit the files to the repository4226 with an admin4227 creates a new snippet4228 returns 400 for missing parameters4229 returns 400 if title is blank4230 behaves like project snippet repository actions4231 commit the files to the repository4232 behaves like snippet creation with files parameter4233 returns 400 if both files and content are provided4234 returns 400 when neither files or content are provided4235 path: ".gitattributes", content: "file content", status: :created, error: nil4236 responds correctly4237 path: "valid/path/file.rb", content: "file content", status: :created, error: nil4238 responds correctly4239 path: ".gitattributes", content: nil, status: :bad_request, error: "files[0][content] is empty"4240 responds correctly4241 path: ".gitattributes", content: "", status: :bad_request, error: "files[0][content] is empty"4242 responds correctly4243 path: "", content: "file content", status: :bad_request, error: "files[0][file_path] is empty"4244 responds correctly4245 path: nil, content: "file content", status: :bad_request, error: "files[0][file_path] should be a valid file path, files[0][file_path] is empty"4246 responds correctly4247 path: "../../etc/passwd", content: "file content", status: :bad_request, error: "files[0][file_path] should be a valid file path"4248 responds correctly4249 behaves like snippet creation without files parameter4250 allows file_name and content parameters4251 returns 400 if file_name and content are not both provided4252 returns 400 if content is blank4253 when save fails because the repository could not be created4254 returns 4004255 when the snippet is spam4256 when the snippet is private4257 creates the snippet4258 when the snippet is public4259 rejects the snippet4260 creates a spam log4261 with snippets disabled4262 behaves like 403 response4263 returns 4034264 PUT /projects/:project_id/snippets/:id/4265 behaves like snippet file updates4266 with various snippet file changes4267 is_multi_file: true, file_name: nil, content: nil, files: [{:action=>"create", :file_path=>"foo.txt", :content=>"bar"}], status: :success4268 has the correct response4269 is_multi_file: true, file_name: nil, content: nil, files: [{:action=>"update", :file_path=>"CHANGELOG", :content=>"bar"}], status: :success4270 has the correct response4271 is_multi_file: true, file_name: nil, content: nil, files: [{:action=>"move", :file_path=>".old-gitattributes", :previous_path=>".gitattributes"}], status: :success4272 has the correct response4273 is_multi_file: true, file_name: nil, content: nil, files: [{:action=>"delete", :file_path=>"CONTRIBUTING.md"}], status: :success4274 has the correct response4275 is_multi_file: true, file_name: nil, content: nil, files: [{:action=>"create", :file_path=>"foo.txt", :content=>"bar"}, {:action=>"update", :file_path=>"CHANGELOG", :content=>"bar"}], status: :success4276 has the correct response4277 is_multi_file: true, file_name: "foo.txt", content: "bar", files: [{:action=>"create", :file_path=>"foo.txt", :content=>"bar"}], status: :bad_request4278 has the correct response4279 is_multi_file: true, file_name: "foo.txt", content: "bar", files: nil, status: :bad_request4280 has the correct response4281 is_multi_file: true, file_name: nil, content: nil, files: nil, status: :bad_request4282 has the correct response4283 is_multi_file: true, file_name: "foo.txt", content: nil, files: [{:action=>"create", :file_path=>"foo.txt", :content=>"bar"}], status: :bad_request4284 has the correct response4285 is_multi_file: true, file_name: nil, content: "bar", files: [{:action=>"create", :file_path=>"foo.txt", :content=>"bar"}], status: :bad_request4286 has the correct response4287 is_multi_file: true, file_name: "", content: nil, files: [{:action=>"create", :file_path=>"foo.txt", :content=>"bar"}], status: :bad_request4288 has the correct response4289 is_multi_file: true, file_name: nil, content: "", files: [{:action=>"create", :file_path=>"foo.txt", :content=>"bar"}], status: :bad_request4290 has the correct response4291 is_multi_file: true, file_name: nil, content: nil, files: [{:action=>"create", :file_path=>"../../etc/passwd", :content=>"bar"}], status: :bad_request4292 has the correct response4293 is_multi_file: true, file_name: nil, content: nil, files: [{:action=>"create", :previous_path=>"../../etc/passwd", :file_path=>"CHANGELOG", :content=>"bar"}], status: :bad_request4294 has the correct response4295 is_multi_file: true, file_name: nil, content: nil, files: [{:action=>"move", :file_path=>"missing_previous_path.txt"}], status: :unprocessable_entity4296 has the correct response4297 is_multi_file: false, file_name: "foo.txt", content: "bar", files: nil, status: :success4298 has the correct response4299 is_multi_file: false, file_name: "foo.txt", content: nil, files: nil, status: :success4300 has the correct response4301 is_multi_file: false, file_name: nil, content: "bar", files: nil, status: :success4302 has the correct response4303 is_multi_file: false, file_name: "foo.txt", content: "bar", files: [{:action=>"create", :file_path=>"foo.txt", :content=>"bar"}], status: :bad_request4304 has the correct response4305 is_multi_file: false, file_name: nil, content: nil, files: nil, status: :bad_request4306 has the correct response4307 is_multi_file: false, file_name: nil, content: "", files: nil, status: :bad_request4308 has the correct response4309 is_multi_file: false, file_name: nil, content: nil, files: [{:action=>"create", :file_path=>"../../etc/passwd", :content=>"bar"}], status: :bad_request4310 has the correct response4311 is_multi_file: false, file_name: nil, content: nil, files: [{:action=>"create", :previous_path=>"../../etc/passwd", :file_path=>"CHANGELOG", :content=>"bar"}], status: :bad_request4312 has the correct response4313 when save fails due to a repository commit error4314 returns a bad request response4315 behaves like snippet non-file updates4316 updates a snippet non-file attributes4317 behaves like snippet individual non-file updates4318 attribute: :description, updated_value: "new description"4319 updates the attribute4320 attribute: :title, updated_value: "new title"4321 updates the attribute4322 attribute: :visibility, updated_value: "private"4323 updates the attribute4324 behaves like invalid snippet updates4325 returns 404 for invalid snippet id4326 returns 400 for missing parameters4327 returns 400 if content is blank4328 returns 400 if title is blank4329 behaves like update with repository actions4330 when the repository exists4331 commits the changes to the repository4332 when the repository does not exist4333 when update attributes does not include file_name or content4334 does not create the repository4335 when update attributes include file_name or content4336 creates the repository4337 commits the file to the repository4338 when save fails due to a repository creation error4339 returns 4004340 does not save the changes to the snippet object4341 when the snippet is spam4342 when the snippet is private4343 creates the snippet4344 when the snippet is public4345 rejects the snippet4346 creates a spam log4347 when the private snippet is made public4348 rejects the snippet4349 creates a spam log4350 with snippets disabled4351 behaves like 403 response4352 returns 4034353 DELETE /projects/:project_id/snippets/:id/4354 deletes snippet4355 returns 404 for invalid snippet id4356 behaves like 412 response4357 for a modified ressource4358 returns 412 with a JSON error4359 for an unmodified ressource4360 returns 204 with an empty body4361 with snippets disabled4362 behaves like 403 response4363 returns 4034364 GET /projects/:project_id/snippets/:id/raw4365 returns raw text4366 returns 404 for invalid snippet id4367 behaves like project snippet access levels4368 behaves like unauthenticated project snippet access4369 project_visibility: :public, snippet_visibility: :public, status: :ok4370 behaves like expected response status4371 returns the correct response4372 project_visibility: :public, snippet_visibility: :private, status: :not_found4373 behaves like expected response status4374 returns the correct response4375 project_visibility: :public, snippet_visibility: :internal, status: :not_found4376 behaves like expected response status4377 returns the correct response4378 project_visibility: :internal, snippet_visibility: :public, status: :not_found4379 behaves like expected response status4380 returns the correct response4381 project_visibility: :private, snippet_visibility: :public, status: :not_found4382 behaves like expected response status4383 returns the correct response4384 behaves like non-member project snippet access4385 project_visibility: :public, snippet_visibility: :public, status: :ok4386 behaves like expected response status4387 returns the correct response4388 project_visibility: :public, snippet_visibility: :internal, status: :ok4389 behaves like expected response status4390 returns the correct response4391 project_visibility: :internal, snippet_visibility: :public, status: :ok4392 behaves like expected response status4393 returns the correct response4394 project_visibility: :public, snippet_visibility: :private, status: :not_found4395 behaves like expected response status4396 returns the correct response4397 project_visibility: :private, snippet_visibility: :public, status: :not_found4398 behaves like expected response status4399 returns the correct response4400 behaves like member project snippet access4401 project_visibility: :public, snippet_visibility: :public, status: :ok4402 behaves like expected response status4403 returns the correct response4404 project_visibility: :public, snippet_visibility: :internal, status: :ok4405 behaves like expected response status4406 returns the correct response4407 project_visibility: :internal, snippet_visibility: :public, status: :ok4408 behaves like expected response status4409 returns the correct response4410 project_visibility: :public, snippet_visibility: :private, status: :ok4411 behaves like expected response status4412 returns the correct response4413 project_visibility: :private, snippet_visibility: :public, status: :ok4414 behaves like expected response status4415 returns the correct response4416 with snippets disabled4417 behaves like 403 response4418 returns 4034419 behaves like snippet blob content4420 returns content from repository4421 when snippet repository is empty4422 returns content from database4423 GET /projects/:project_id/snippets/:id/files/:ref/:file_path/raw4424 behaves like raw snippet files4425 with an invalid snippet ID4426 returns 4044427 with valid params4428 returns the raw file info4429 with unauthorized user4430 returns 4044431 with invalid params4432 file_path: "%2Egitattributes", ref: "invalid-ref", status: :not_found, key: "message", message: "404 Reference Not Found"4433 returns the proper response code and message4434 file_path: "%2Egitattributes", ref: nil, status: :not_found, key: "error", message: "404 Not Found"4435 returns the proper response code and message4436 file_path: "%2Egitattributes", ref: "", status: :not_found, key: "error", message: "404 Not Found"4437 returns the proper response code and message4438 file_path: "doesnotexist.rb", ref: "master", status: :not_found, key: "message", message: "404 File Not Found"4439 returns the proper response code and message4440 file_path: "/does/not/exist.rb", ref: "master", status: :not_found, key: "error", message: "404 Not Found"4441 returns the proper response code and message4442 file_path: "%2E%2E%2Fetc%2Fpasswd", ref: "master", status: :bad_request, key: "error", message: "file_path should be a valid file path"4443 returns the proper response code and message4444 file_path: "%2Fetc%2Fpasswd", ref: "master", status: :bad_request, key: "error", message: "file_path should be a valid file path"4445 returns the proper response code and message4446 file_path: "../../etc/passwd", ref: "master", status: :not_found, key: "error", message: "404 Not Found"4447 returns the proper response code and message4448 behaves like project snippet access levels4449 behaves like unauthenticated project snippet access4450 project_visibility: :public, snippet_visibility: :public, status: :ok4451 behaves like expected response status4452 returns the correct response4453 project_visibility: :public, snippet_visibility: :private, status: :not_found4454 behaves like expected response status4455 returns the correct response4456 project_visibility: :public, snippet_visibility: :internal, status: :not_found4457 behaves like expected response status4458 returns the correct response4459 project_visibility: :internal, snippet_visibility: :public, status: :not_found4460 behaves like expected response status4461 returns the correct response4462 project_visibility: :private, snippet_visibility: :public, status: :not_found4463 behaves like expected response status4464 returns the correct response4465 behaves like non-member project snippet access4466 project_visibility: :public, snippet_visibility: :public, status: :ok4467 behaves like expected response status4468 returns the correct response4469 project_visibility: :public, snippet_visibility: :internal, status: :ok4470 behaves like expected response status4471 returns the correct response4472 project_visibility: :internal, snippet_visibility: :public, status: :ok4473 behaves like expected response status4474 returns the correct response4475 project_visibility: :public, snippet_visibility: :private, status: :not_found4476 behaves like expected response status4477 returns the correct response4478 project_visibility: :private, snippet_visibility: :public, status: :not_found4479 behaves like expected response status4480 returns the correct response4481 behaves like member project snippet access4482 project_visibility: :public, snippet_visibility: :public, status: :ok4483 behaves like expected response status4484 returns the correct response4485 project_visibility: :public, snippet_visibility: :internal, status: :ok4486 behaves like expected response status4487 returns the correct response4488 project_visibility: :internal, snippet_visibility: :public, status: :ok4489 behaves like expected response status4490 returns the correct response4491 project_visibility: :public, snippet_visibility: :private, status: :ok4492 behaves like expected response status4493 returns the correct response4494 project_visibility: :private, snippet_visibility: :public, status: :ok4495 behaves like expected response status4496 returns the correct response4497API::ProjectDebianDistributions4498 POST projects/:id/debian_distributions4499 behaves like Debian distributions write endpoint4500 with valid container4501 visibility_level: :public, user_type: :developer, auth_method: :private_token, expected_status: :created, expected_body: /^{.*"codename":"my-codename",.*"components":\["main"\],.*"architectures":\["all","amd64"\]/4502 behaves like Debian distributions POST request4503 creates distribution4504 visibility_level: :public, user_type: :developer, auth_method: :basic, expected_status: :unauthorized, expected_body: nil4505 behaves like Debian distributions POST request4506 returns unauthorized4507 visibility_level: :public, user_type: :guest, auth_method: :private_token, expected_status: :forbidden, expected_body: nil4508 behaves like Debian distributions POST request4509 returns forbidden4510 visibility_level: :public, user_type: :not_a_member, auth_method: :private_token, expected_status: :forbidden, expected_body: nil4511 behaves like Debian distributions POST request4512 returns forbidden4513 visibility_level: :public, user_type: :anonymous, auth_method: :private_token, expected_status: :unauthorized, expected_body: nil4514 behaves like Debian distributions POST request4515 returns unauthorized4516 visibility_level: :public, user_type: :invalid_token, auth_method: :private_token, expected_status: :unauthorized, expected_body: nil4517 behaves like Debian distributions POST request4518 returns unauthorized4519 visibility_level: :private, user_type: :developer, auth_method: :private_token, expected_status: :created, expected_body: /^{.*"codename":"my-codename",.*"components":\["main"\],.*"architectures":\["all","amd64"\]/4520 behaves like Debian distributions POST request4521 creates distribution4522 visibility_level: :private, user_type: :guest, auth_method: :private_token, expected_status: :forbidden, expected_body: nil4523 behaves like Debian distributions POST request4524 returns forbidden4525 visibility_level: :private, user_type: :not_a_member, auth_method: :private_token, expected_status: :not_found, expected_body: nil4526 behaves like Debian distributions POST request4527 returns not_found4528 visibility_level: :private, user_type: :anonymous, auth_method: :private_token, expected_status: :not_found, expected_body: nil4529 behaves like Debian distributions POST request4530 returns not_found4531 visibility_level: :private, user_type: :invalid_token, auth_method: :private_token, expected_status: :unauthorized, expected_body: nil4532 behaves like Debian distributions POST request4533 returns unauthorized4534 behaves like rejects Debian access with unknown container id4535 with an unknown container4536 as anonymous4537 behaves like Debian packages GET request4538 returns not_found4539 behaves like Debian API FIPS mode4540 when FIPS mode is enabled4541 behaves like returning response status4542 returns not_found4543 as authenticated user4544 behaves like Debian packages GET request4545 returns not_found4546 behaves like Debian API FIPS mode4547 when FIPS mode is enabled4548 behaves like returning response status4549 returns not_found4550 with invalid parameters4551 behaves like Debian distributions write endpoint4552 with valid container4553 visibility_level: :public, user_type: :developer, auth_method: :private_token, expected_status: :bad_request, expected_body: /^{"message":{"codename":\["has already been taken"\]}}$/4554 behaves like Debian distributions GET request4555 returns bad_request and expected body4556 behaves like Debian API FIPS mode4557 when FIPS mode is enabled4558 behaves like returning response status4559 returns not_found4560 visibility_level: :public, user_type: :developer, auth_method: :basic, expected_status: :unauthorized, expected_body: nil4561 behaves like Debian distributions GET request4562 returns unauthorized4563 behaves like Debian API FIPS mode4564 when FIPS mode is enabled4565 behaves like returning response status4566 returns not_found4567 visibility_level: :public, user_type: :guest, auth_method: :private_token, expected_status: :forbidden, expected_body: nil4568 behaves like Debian distributions GET request4569 returns forbidden4570 behaves like Debian API FIPS mode4571 when FIPS mode is enabled4572 behaves like returning response status4573 returns not_found4574 visibility_level: :public, user_type: :not_a_member, auth_method: :private_token, expected_status: :forbidden, expected_body: nil4575 behaves like Debian distributions GET request4576 returns forbidden4577 behaves like Debian API FIPS mode4578 when FIPS mode is enabled4579 behaves like returning response status4580 returns not_found4581 visibility_level: :public, user_type: :anonymous, auth_method: :private_token, expected_status: :unauthorized, expected_body: nil4582 behaves like Debian distributions GET request4583 returns unauthorized4584 behaves like Debian API FIPS mode4585 when FIPS mode is enabled4586 behaves like returning response status4587 returns not_found4588 visibility_level: :public, user_type: :invalid_token, auth_method: :private_token, expected_status: :unauthorized, expected_body: nil4589 behaves like Debian distributions GET request4590 returns unauthorized4591 behaves like Debian API FIPS mode4592 when FIPS mode is enabled4593 behaves like returning response status4594 returns not_found4595 visibility_level: :private, user_type: :developer, auth_method: :private_token, expected_status: :bad_request, expected_body: /^{"message":{"codename":\["has already been taken"\]}}$/4596 behaves like Debian distributions GET request4597 returns bad_request and expected body4598 behaves like Debian API FIPS mode4599 when FIPS mode is enabled4600 behaves like returning response status4601 returns not_found4602 visibility_level: :private, user_type: :guest, auth_method: :private_token, expected_status: :forbidden, expected_body: nil4603 behaves like Debian distributions GET request4604 returns forbidden4605 behaves like Debian API FIPS mode4606 when FIPS mode is enabled4607 behaves like returning response status4608 returns not_found4609 visibility_level: :private, user_type: :not_a_member, auth_method: :private_token, expected_status: :not_found, expected_body: nil4610 behaves like Debian distributions GET request4611 returns not_found4612 behaves like Debian API FIPS mode4613 when FIPS mode is enabled4614 behaves like returning response status4615 returns not_found4616 visibility_level: :private, user_type: :anonymous, auth_method: :private_token, expected_status: :not_found, expected_body: nil4617 behaves like Debian distributions GET request4618 returns not_found4619 behaves like Debian API FIPS mode4620 when FIPS mode is enabled4621 behaves like returning response status4622 returns not_found4623 visibility_level: :private, user_type: :invalid_token, auth_method: :private_token, expected_status: :unauthorized, expected_body: nil4624 behaves like Debian distributions GET request4625 returns unauthorized4626 behaves like Debian API FIPS mode4627 when FIPS mode is enabled4628 behaves like returning response status4629 returns not_found4630 behaves like rejects Debian access with unknown container id4631 with an unknown container4632 as anonymous4633 behaves like Debian packages GET request4634 returns not_found4635 behaves like Debian API FIPS mode4636 when FIPS mode is enabled4637 behaves like returning response status4638 returns not_found4639 as authenticated user4640 behaves like Debian packages GET request4641 returns not_found4642 behaves like Debian API FIPS mode4643 when FIPS mode is enabled4644 behaves like returning response status4645 returns not_found4646 GET projects/:id/debian_distributions4647 behaves like Debian distributions read endpoint4648 with valid container4649 visibility_level: :public, user_type: :guest, auth_method: :private_token, expected_status: :success, expected_body: /^\[{.*"codename":"existing-codename\",.*"components":\["existing-component"\],.*"architectures":\["all","existing-arch"\]/4650 behaves like Debian distributions GET request4651 returns success and expected body4652 behaves like Debian API FIPS mode4653 when FIPS mode is enabled4654 behaves like returning response status4655 returns not_found4656 visibility_level: :public, user_type: :not_a_member, auth_method: :private_token, expected_status: :success, expected_body: /^\[{.*"codename":"existing-codename\",.*"components":\["existing-component"\],.*"architectures":\["all","existing-arch"\]/4657 behaves like Debian distributions GET request4658 returns success and expected body4659 behaves like Debian API FIPS mode4660 when FIPS mode is enabled4661 behaves like returning response status4662 returns not_found4663 visibility_level: :public, user_type: :anonymous, auth_method: :private_token, expected_status: :success, expected_body: /^\[{.*"codename":"existing-codename\",.*"components":\["existing-component"\],.*"architectures":\["all","existing-arch"\]/4664 behaves like Debian distributions GET request4665 returns success and expected body4666 behaves like Debian API FIPS mode4667 when FIPS mode is enabled4668 behaves like returning response status4669 returns not_found4670 visibility_level: :public, user_type: :invalid_token, auth_method: :private_token, expected_status: :unauthorized, expected_body: nil4671 behaves like Debian distributions GET request4672 returns unauthorized4673 behaves like Debian API FIPS mode4674 when FIPS mode is enabled4675 behaves like returning response status4676 returns not_found4677 visibility_level: :private, user_type: :developer, auth_method: :private_token, expected_status: :success, expected_body: /^\[{.*"codename":"existing-codename\",.*"components":\["existing-component"\],.*"architectures":\["all","existing-arch"\]/4678 behaves like Debian distributions GET request4679 returns success and expected body4680 behaves like Debian API FIPS mode4681 when FIPS mode is enabled4682 behaves like returning response status4683 returns not_found4684 visibility_level: :private, user_type: :developer, auth_method: :basic, expected_status: :not_found, expected_body: nil4685 behaves like Debian distributions GET request4686 returns not_found4687 behaves like Debian API FIPS mode4688 when FIPS mode is enabled4689 behaves like returning response status4690 returns not_found4691 visibility_level: :private, user_type: :guest, auth_method: :private_token, expected_status: :forbidden, expected_body: nil4692 behaves like Debian distributions GET request4693 returns forbidden4694 behaves like Debian API FIPS mode4695 when FIPS mode is enabled4696 behaves like returning response status4697 returns not_found4698 visibility_level: :private, user_type: :not_a_member, auth_method: :private_token, expected_status: :not_found, expected_body: nil4699 behaves like Debian distributions GET request4700 returns not_found4701 behaves like Debian API FIPS mode4702 when FIPS mode is enabled4703 behaves like returning response status4704 returns not_found4705 visibility_level: :private, user_type: :anonymous, auth_method: :private_token, expected_status: :not_found, expected_body: nil4706 behaves like Debian distributions GET request4707 returns not_found4708 behaves like Debian API FIPS mode4709 when FIPS mode is enabled4710 behaves like returning response status4711 returns not_found4712 visibility_level: :private, user_type: :invalid_token, auth_method: :private_token, expected_status: :unauthorized, expected_body: nil4713 behaves like Debian distributions GET request4714 returns unauthorized4715 behaves like Debian API FIPS mode4716 when FIPS mode is enabled4717 behaves like returning response status4718 returns not_found4719 behaves like rejects Debian access with unknown container id4720 with an unknown container4721 as anonymous4722 behaves like Debian packages GET request4723 returns not_found4724 behaves like Debian API FIPS mode4725 when FIPS mode is enabled4726 behaves like returning response status4727 returns not_found4728 as authenticated user4729 behaves like Debian packages GET request4730 returns not_found4731 behaves like Debian API FIPS mode4732 when FIPS mode is enabled4733 behaves like returning response status4734 returns not_found4735 GET projects/:id/debian_distributions/:codename4736 behaves like Debian distributions read endpoint4737 with valid container4738 visibility_level: :public, user_type: :guest, auth_method: :private_token, expected_status: :success, expected_body: /^{.*"codename":"existing-codename\",.*"components":\["existing-component"\],.*"architectures":\["all","existing-arch"\]/4739 behaves like Debian distributions GET request4740 returns success and expected body4741 behaves like Debian API FIPS mode4742 when FIPS mode is enabled4743 behaves like returning response status4744 returns not_found4745 visibility_level: :public, user_type: :not_a_member, auth_method: :private_token, expected_status: :success, expected_body: /^{.*"codename":"existing-codename\",.*"components":\["existing-component"\],.*"architectures":\["all","existing-arch"\]/4746 behaves like Debian distributions GET request4747 returns success and expected body4748 behaves like Debian API FIPS mode4749 when FIPS mode is enabled4750 behaves like returning response status4751 returns not_found4752 visibility_level: :public, user_type: :anonymous, auth_method: :private_token, expected_status: :success, expected_body: /^{.*"codename":"existing-codename\",.*"components":\["existing-component"\],.*"architectures":\["all","existing-arch"\]/4753 behaves like Debian distributions GET request4754 returns success and expected body4755 behaves like Debian API FIPS mode4756 when FIPS mode is enabled4757 behaves like returning response status4758 returns not_found4759 visibility_level: :public, user_type: :invalid_token, auth_method: :private_token, expected_status: :unauthorized, expected_body: nil4760 behaves like Debian distributions GET request4761 returns unauthorized4762 behaves like Debian API FIPS mode4763 when FIPS mode is enabled4764 behaves like returning response status4765 returns not_found4766 visibility_level: :private, user_type: :developer, auth_method: :private_token, expected_status: :success, expected_body: /^{.*"codename":"existing-codename\",.*"components":\["existing-component"\],.*"architectures":\["all","existing-arch"\]/4767 behaves like Debian distributions GET request4768 returns success and expected body4769 behaves like Debian API FIPS mode4770 when FIPS mode is enabled4771 behaves like returning response status4772 returns not_found4773 visibility_level: :private, user_type: :developer, auth_method: :basic, expected_status: :not_found, expected_body: nil4774 behaves like Debian distributions GET request4775 returns not_found4776 behaves like Debian API FIPS mode4777 when FIPS mode is enabled4778 behaves like returning response status4779 returns not_found4780 visibility_level: :private, user_type: :guest, auth_method: :private_token, expected_status: :forbidden, expected_body: nil4781 behaves like Debian distributions GET request4782 returns forbidden4783 behaves like Debian API FIPS mode4784 when FIPS mode is enabled4785 behaves like returning response status4786 returns not_found4787 visibility_level: :private, user_type: :not_a_member, auth_method: :private_token, expected_status: :not_found, expected_body: nil4788 behaves like Debian distributions GET request4789 returns not_found4790 behaves like Debian API FIPS mode4791 when FIPS mode is enabled4792 behaves like returning response status4793 returns not_found4794 visibility_level: :private, user_type: :anonymous, auth_method: :private_token, expected_status: :not_found, expected_body: nil4795 behaves like Debian distributions GET request4796 returns not_found4797 behaves like Debian API FIPS mode4798 when FIPS mode is enabled4799 behaves like returning response status4800 returns not_found4801 visibility_level: :private, user_type: :invalid_token, auth_method: :private_token, expected_status: :unauthorized, expected_body: nil4802 behaves like Debian distributions GET request4803 returns unauthorized4804 behaves like Debian API FIPS mode4805 when FIPS mode is enabled4806 behaves like returning response status4807 returns not_found4808 behaves like rejects Debian access with unknown container id4809 with an unknown container4810 as anonymous4811 behaves like Debian packages GET request4812 returns not_found4813 behaves like Debian API FIPS mode4814 when FIPS mode is enabled4815 behaves like returning response status4816 returns not_found4817 as authenticated user4818 behaves like Debian packages GET request4819 returns not_found4820 behaves like Debian API FIPS mode4821 when FIPS mode is enabled4822 behaves like returning response status4823 returns not_found4824 GET projects/:id/debian_distributions/:codename/key.asc4825 behaves like Debian distributions read endpoint4826 with valid container4827 visibility_level: :public, user_type: :guest, auth_method: :private_token, expected_status: :success, expected_body: /^-----BEGIN PGP PUBLIC KEY BLOCK-----/4828 behaves like Debian distributions GET request4829 returns success and expected body4830 behaves like Debian API FIPS mode4831 when FIPS mode is enabled4832 behaves like returning response status4833 returns not_found4834 visibility_level: :public, user_type: :not_a_member, auth_method: :private_token, expected_status: :success, expected_body: /^-----BEGIN PGP PUBLIC KEY BLOCK-----/4835 behaves like Debian distributions GET request4836 returns success and expected body4837 behaves like Debian API FIPS mode4838 when FIPS mode is enabled4839 behaves like returning response status4840 returns not_found4841 visibility_level: :public, user_type: :anonymous, auth_method: :private_token, expected_status: :success, expected_body: /^-----BEGIN PGP PUBLIC KEY BLOCK-----/4842 behaves like Debian distributions GET request4843 returns success and expected body4844 behaves like Debian API FIPS mode4845 when FIPS mode is enabled4846 behaves like returning response status4847 returns not_found4848 visibility_level: :public, user_type: :invalid_token, auth_method: :private_token, expected_status: :unauthorized, expected_body: nil4849 behaves like Debian distributions GET request4850 returns unauthorized4851 behaves like Debian API FIPS mode4852 when FIPS mode is enabled4853 behaves like returning response status4854 returns not_found4855 visibility_level: :private, user_type: :developer, auth_method: :private_token, expected_status: :success, expected_body: /^-----BEGIN PGP PUBLIC KEY BLOCK-----/4856 behaves like Debian distributions GET request4857 returns success and expected body4858 behaves like Debian API FIPS mode4859 when FIPS mode is enabled4860 behaves like returning response status4861 returns not_found4862 visibility_level: :private, user_type: :developer, auth_method: :basic, expected_status: :not_found, expected_body: nil4863 behaves like Debian distributions GET request4864 returns not_found4865 behaves like Debian API FIPS mode4866 when FIPS mode is enabled4867 behaves like returning response status4868 returns not_found4869 visibility_level: :private, user_type: :guest, auth_method: :private_token, expected_status: :forbidden, expected_body: nil4870 behaves like Debian distributions GET request4871 returns forbidden4872 behaves like Debian API FIPS mode4873 when FIPS mode is enabled4874 behaves like returning response status4875 returns not_found4876 visibility_level: :private, user_type: :not_a_member, auth_method: :private_token, expected_status: :not_found, expected_body: nil4877 behaves like Debian distributions GET request4878 returns not_found4879 behaves like Debian API FIPS mode4880 when FIPS mode is enabled4881 behaves like returning response status4882 returns not_found4883 visibility_level: :private, user_type: :anonymous, auth_method: :private_token, expected_status: :not_found, expected_body: nil4884 behaves like Debian distributions GET request4885 returns not_found4886 behaves like Debian API FIPS mode4887 when FIPS mode is enabled4888 behaves like returning response status4889 returns not_found4890 visibility_level: :private, user_type: :invalid_token, auth_method: :private_token, expected_status: :unauthorized, expected_body: nil4891 behaves like Debian distributions GET request4892 returns unauthorized4893 behaves like Debian API FIPS mode4894 when FIPS mode is enabled4895 behaves like returning response status4896 returns not_found4897 behaves like rejects Debian access with unknown container id4898 with an unknown container4899 as anonymous4900 behaves like Debian packages GET request4901 returns not_found4902 behaves like Debian API FIPS mode4903 when FIPS mode is enabled4904 behaves like returning response status4905 returns not_found4906 as authenticated user4907 behaves like Debian packages GET request4908 returns not_found4909 behaves like Debian API FIPS mode4910 when FIPS mode is enabled4911 behaves like returning response status4912 returns not_found4913 PUT projects/:id/debian_distributions/:codename4914 behaves like Debian distributions write endpoint4915 with valid container4916 visibility_level: :public, user_type: :developer, auth_method: :private_token, expected_status: :success, expected_body: /^{.*"codename":"existing-codename",.*"suite":"my-suite",/4917 behaves like Debian distributions PUT request4918 updates distribution4919 behaves like Debian API FIPS mode4920 when FIPS mode is enabled4921 behaves like returning response status4922 returns not_found4923 visibility_level: :public, user_type: :developer, auth_method: :basic, expected_status: :unauthorized, expected_body: nil4924 behaves like Debian distributions PUT request4925 returns unauthorized4926 behaves like Debian API FIPS mode4927 when FIPS mode is enabled4928 behaves like returning response status4929 returns not_found4930 visibility_level: :public, user_type: :guest, auth_method: :private_token, expected_status: :forbidden, expected_body: nil4931 behaves like Debian distributions PUT request4932 returns forbidden4933 behaves like Debian API FIPS mode4934 when FIPS mode is enabled4935 behaves like returning response status4936 returns not_found4937 visibility_level: :public, user_type: :not_a_member, auth_method: :private_token, expected_status: :forbidden, expected_body: nil4938 behaves like Debian distributions PUT request4939 returns forbidden4940 behaves like Debian API FIPS mode4941 when FIPS mode is enabled4942 behaves like returning response status4943 returns not_found4944 visibility_level: :public, user_type: :anonymous, auth_method: :private_token, expected_status: :unauthorized, expected_body: nil4945 behaves like Debian distributions PUT request4946 returns unauthorized4947 behaves like Debian API FIPS mode4948 when FIPS mode is enabled4949 behaves like returning response status4950 returns not_found4951 visibility_level: :public, user_type: :invalid_token, auth_method: :private_token, expected_status: :unauthorized, expected_body: nil4952 behaves like Debian distributions PUT request4953 returns unauthorized4954 behaves like Debian API FIPS mode4955 when FIPS mode is enabled4956 behaves like returning response status4957 returns not_found4958 visibility_level: :private, user_type: :developer, auth_method: :private_token, expected_status: :success, expected_body: /^{.*"codename":"existing-codename",.*"suite":"my-suite",/4959 behaves like Debian distributions PUT request4960 updates distribution4961 behaves like Debian API FIPS mode4962 when FIPS mode is enabled4963 behaves like returning response status4964 returns not_found4965 visibility_level: :private, user_type: :guest, auth_method: :private_token, expected_status: :forbidden, expected_body: nil4966 behaves like Debian distributions PUT request4967 returns forbidden4968 behaves like Debian API FIPS mode4969 when FIPS mode is enabled4970 behaves like returning response status4971 returns not_found4972 visibility_level: :private, user_type: :not_a_member, auth_method: :private_token, expected_status: :not_found, expected_body: nil4973 behaves like Debian distributions PUT request4974 returns not_found4975 behaves like Debian API FIPS mode4976 when FIPS mode is enabled4977 behaves like returning response status4978 returns not_found4979 visibility_level: :private, user_type: :anonymous, auth_method: :private_token, expected_status: :not_found, expected_body: nil4980 behaves like Debian distributions PUT request4981 returns not_found4982 behaves like Debian API FIPS mode4983 when FIPS mode is enabled4984 behaves like returning response status4985 returns not_found4986 visibility_level: :private, user_type: :invalid_token, auth_method: :private_token, expected_status: :unauthorized, expected_body: nil4987 behaves like Debian distributions PUT request4988 returns unauthorized4989 behaves like Debian API FIPS mode4990 when FIPS mode is enabled4991 behaves like returning response status4992 returns not_found4993 behaves like rejects Debian access with unknown container id4994 with an unknown container4995 as anonymous4996 behaves like Debian packages GET request4997 returns not_found4998 behaves like Debian API FIPS mode4999 when FIPS mode is enabled5000 behaves like returning response status5001 returns not_found5002 as authenticated user5003 behaves like Debian packages GET request5004 returns not_found5005 behaves like Debian API FIPS mode5006 when FIPS mode is enabled5007 behaves like returning response status5008 returns not_found5009 with invalid parameters5010 behaves like Debian distributions write endpoint5011 with valid container5012 visibility_level: :public, user_type: :developer, auth_method: :private_token, expected_status: :bad_request, expected_body: /^{"message":{"suite":\["has already been taken as Codename"\]}}$/5013 behaves like Debian distributions GET request5014 returns bad_request and expected body5015 behaves like Debian API FIPS mode5016 when FIPS mode is enabled5017 behaves like returning response status5018 returns not_found5019 visibility_level: :public, user_type: :developer, auth_method: :basic, expected_status: :unauthorized, expected_body: nil5020 behaves like Debian distributions GET request5021 returns unauthorized5022 behaves like Debian API FIPS mode5023 when FIPS mode is enabled5024 behaves like returning response status5025 returns not_found5026 visibility_level: :public, user_type: :guest, auth_method: :private_token, expected_status: :forbidden, expected_body: nil5027 behaves like Debian distributions GET request5028 returns forbidden5029 behaves like Debian API FIPS mode5030 when FIPS mode is enabled5031 behaves like returning response status5032 returns not_found5033 visibility_level: :public, user_type: :not_a_member, auth_method: :private_token, expected_status: :forbidden, expected_body: nil5034 behaves like Debian distributions GET request5035 returns forbidden5036 behaves like Debian API FIPS mode5037 when FIPS mode is enabled5038 behaves like returning response status5039 returns not_found5040 visibility_level: :public, user_type: :anonymous, auth_method: :private_token, expected_status: :unauthorized, expected_body: nil5041 behaves like Debian distributions GET request5042 returns unauthorized5043 behaves like Debian API FIPS mode5044 when FIPS mode is enabled5045 behaves like returning response status5046 returns not_found5047 visibility_level: :public, user_type: :invalid_token, auth_method: :private_token, expected_status: :unauthorized, expected_body: nil5048 behaves like Debian distributions GET request5049 returns unauthorized5050 behaves like Debian API FIPS mode5051 when FIPS mode is enabled5052 behaves like returning response status5053 returns not_found5054 visibility_level: :private, user_type: :developer, auth_method: :private_token, expected_status: :bad_request, expected_body: /^{"message":{"suite":\["has already been taken as Codename"\]}}$/5055 behaves like Debian distributions GET request5056 returns bad_request and expected body5057 behaves like Debian API FIPS mode5058 when FIPS mode is enabled5059 behaves like returning response status5060 returns not_found5061 visibility_level: :private, user_type: :guest, auth_method: :private_token, expected_status: :forbidden, expected_body: nil5062 behaves like Debian distributions GET request5063 returns forbidden5064 behaves like Debian API FIPS mode5065 when FIPS mode is enabled5066 behaves like returning response status5067 returns not_found5068 visibility_level: :private, user_type: :not_a_member, auth_method: :private_token, expected_status: :not_found, expected_body: nil5069 behaves like Debian distributions GET request5070 returns not_found5071 behaves like Debian API FIPS mode5072 when FIPS mode is enabled5073 behaves like returning response status5074 returns not_found5075 visibility_level: :private, user_type: :anonymous, auth_method: :private_token, expected_status: :not_found, expected_body: nil5076 behaves like Debian distributions GET request5077 returns not_found5078 behaves like Debian API FIPS mode5079 when FIPS mode is enabled5080 behaves like returning response status5081 returns not_found5082 visibility_level: :private, user_type: :invalid_token, auth_method: :private_token, expected_status: :unauthorized, expected_body: nil5083 behaves like Debian distributions GET request5084 returns unauthorized5085 behaves like Debian API FIPS mode5086 when FIPS mode is enabled5087 behaves like returning response status5088 returns not_found5089 behaves like rejects Debian access with unknown container id5090 with an unknown container5091 as anonymous5092 behaves like Debian packages GET request5093 returns not_found5094 behaves like Debian API FIPS mode5095 when FIPS mode is enabled5096 behaves like returning response status5097 returns not_found5098 as authenticated user5099 behaves like Debian packages GET request5100 returns not_found5101 behaves like Debian API FIPS mode5102 when FIPS mode is enabled5103 behaves like returning response status5104 returns not_found5105 DELETE projects/:id/debian_distributions/:codename5106 behaves like Debian distributions maintainer write endpoint5107 with valid container5108 visibility_level: :public, user_type: :maintainer, auth_method: :private_token, expected_status: :success, expected_body: /^{\"message\":\"202 Accepted\"}$/5109 behaves like Debian distributions DELETE request5110 updates distribution5111 behaves like Debian API FIPS mode5112 when FIPS mode is enabled5113 behaves like returning response status5114 returns not_found5115 visibility_level: :public, user_type: :maintainer, auth_method: :basic, expected_status: :unauthorized, expected_body: nil5116 behaves like Debian distributions DELETE request5117 returns unauthorized5118 behaves like Debian API FIPS mode5119 when FIPS mode is enabled5120 behaves like returning response status5121 returns not_found5122 visibility_level: :public, user_type: :developer, auth_method: :private_token, expected_status: :forbidden, expected_body: nil5123 behaves like Debian distributions DELETE request5124 returns forbidden5125 behaves like Debian API FIPS mode5126 when FIPS mode is enabled5127 behaves like returning response status5128 returns not_found5129 visibility_level: :public, user_type: :not_a_member, auth_method: :private_token, expected_status: :forbidden, expected_body: nil5130 behaves like Debian distributions DELETE request5131 returns forbidden5132 behaves like Debian API FIPS mode5133 when FIPS mode is enabled5134 behaves like returning response status5135 returns not_found5136 visibility_level: :public, user_type: :anonymous, auth_method: :private_token, expected_status: :unauthorized, expected_body: nil5137 behaves like Debian distributions DELETE request5138 returns unauthorized5139 behaves like Debian API FIPS mode5140 when FIPS mode is enabled5141 behaves like returning response status5142 returns not_found5143 visibility_level: :public, user_type: :invalid_token, auth_method: :private_token, expected_status: :unauthorized, expected_body: nil5144 behaves like Debian distributions DELETE request5145 returns unauthorized5146 behaves like Debian API FIPS mode5147 when FIPS mode is enabled5148 behaves like returning response status5149 returns not_found5150 visibility_level: :private, user_type: :maintainer, auth_method: :private_token, expected_status: :success, expected_body: /^{\"message\":\"202 Accepted\"}$/5151 behaves like Debian distributions DELETE request5152 updates distribution5153 behaves like Debian API FIPS mode5154 when FIPS mode is enabled5155 behaves like returning response status5156 returns not_found5157 visibility_level: :private, user_type: :developer, auth_method: :private_token, expected_status: :forbidden, expected_body: nil5158 behaves like Debian distributions DELETE request5159 returns forbidden5160 behaves like Debian API FIPS mode5161 when FIPS mode is enabled5162 behaves like returning response status5163 returns not_found5164 visibility_level: :private, user_type: :not_a_member, auth_method: :private_token, expected_status: :not_found, expected_body: nil5165 behaves like Debian distributions DELETE request5166 returns not_found5167 behaves like Debian API FIPS mode5168 when FIPS mode is enabled5169 behaves like returning response status5170 returns not_found5171 visibility_level: :private, user_type: :anonymous, auth_method: :private_token, expected_status: :not_found, expected_body: nil5172 behaves like Debian distributions DELETE request5173 returns not_found5174 behaves like Debian API FIPS mode5175 when FIPS mode is enabled5176 behaves like returning response status5177 returns not_found5178 visibility_level: :private, user_type: :invalid_token, auth_method: :private_token, expected_status: :unauthorized, expected_body: nil5179 behaves like Debian distributions DELETE request5180 returns unauthorized5181 behaves like Debian API FIPS mode5182 when FIPS mode is enabled5183 behaves like returning response status5184 returns not_found5185 behaves like rejects Debian access with unknown container id5186 with an unknown container5187 as anonymous5188 behaves like Debian packages GET request5189 returns not_found5190 behaves like Debian API FIPS mode5191 when FIPS mode is enabled5192 behaves like returning response status5193 returns not_found5194 as authenticated user5195 behaves like Debian packages GET request5196 returns not_found5197 behaves like Debian API FIPS mode5198 when FIPS mode is enabled5199 behaves like returning response status5200 returns not_found5201 when destroy fails5202 behaves like Debian distributions maintainer write endpoint5203 with valid container5204 visibility_level: :public, user_type: :maintainer, auth_method: :private_token, expected_status: :bad_request, expected_body: /^{"message":"Failed to delete distribution"}$/5205 behaves like Debian distributions GET request5206 returns bad_request and expected body5207 behaves like Debian API FIPS mode5208 when FIPS mode is enabled5209 behaves like returning response status5210 returns not_found5211 visibility_level: :public, user_type: :maintainer, auth_method: :basic, expected_status: :unauthorized, expected_body: nil5212 behaves like Debian distributions GET request5213 returns unauthorized5214 behaves like Debian API FIPS mode5215 when FIPS mode is enabled5216 behaves like returning response status5217 returns not_found5218 visibility_level: :public, user_type: :developer, auth_method: :private_token, expected_status: :forbidden, expected_body: nil5219 behaves like Debian distributions GET request5220 returns forbidden5221 behaves like Debian API FIPS mode5222 when FIPS mode is enabled5223 behaves like returning response status5224 returns not_found5225 visibility_level: :public, user_type: :not_a_member, auth_method: :private_token, expected_status: :forbidden, expected_body: nil5226 behaves like Debian distributions GET request5227 returns forbidden5228 behaves like Debian API FIPS mode5229 when FIPS mode is enabled5230 behaves like returning response status5231 returns not_found5232 visibility_level: :public, user_type: :anonymous, auth_method: :private_token, expected_status: :unauthorized, expected_body: nil5233 behaves like Debian distributions GET request5234 returns unauthorized5235 behaves like Debian API FIPS mode5236 when FIPS mode is enabled5237 behaves like returning response status5238 returns not_found5239 visibility_level: :public, user_type: :invalid_token, auth_method: :private_token, expected_status: :unauthorized, expected_body: nil5240 behaves like Debian distributions GET request5241 returns unauthorized5242 behaves like Debian API FIPS mode5243 when FIPS mode is enabled5244 behaves like returning response status5245 returns not_found5246 visibility_level: :private, user_type: :maintainer, auth_method: :private_token, expected_status: :bad_request, expected_body: /^{"message":"Failed to delete distribution"}$/5247 behaves like Debian distributions GET request5248 returns bad_request and expected body5249 behaves like Debian API FIPS mode5250 when FIPS mode is enabled5251 behaves like returning response status5252 returns not_found5253 visibility_level: :private, user_type: :developer, auth_method: :private_token, expected_status: :forbidden, expected_body: nil5254 behaves like Debian distributions GET request5255 returns forbidden5256 behaves like Debian API FIPS mode5257 when FIPS mode is enabled5258 behaves like returning response status5259 returns not_found5260 visibility_level: :private, user_type: :not_a_member, auth_method: :private_token, expected_status: :not_found, expected_body: nil5261 behaves like Debian distributions GET request5262 returns not_found5263 behaves like Debian API FIPS mode5264 when FIPS mode is enabled5265 behaves like returning response status5266 returns not_found5267 visibility_level: :private, user_type: :anonymous, auth_method: :private_token, expected_status: :not_found, expected_body: nil5268 behaves like Debian distributions GET request5269 returns not_found5270 behaves like Debian API FIPS mode5271 when FIPS mode is enabled5272 behaves like returning response status5273 returns not_found5274 visibility_level: :private, user_type: :invalid_token, auth_method: :private_token, expected_status: :unauthorized, expected_body: nil5275 behaves like Debian distributions GET request5276 returns unauthorized5277 behaves like Debian API FIPS mode5278 when FIPS mode is enabled5279 behaves like returning response status5280 returns not_found5281 behaves like rejects Debian access with unknown container id5282 with an unknown container5283 as anonymous5284 behaves like Debian packages GET request5285 returns not_found5286 behaves like Debian API FIPS mode5287 when FIPS mode is enabled5288 behaves like returning response status5289 returns not_found5290 as authenticated user5291 behaves like Debian packages GET request5292 returns not_found5293 behaves like Debian API FIPS mode5294 when FIPS mode is enabled5295 behaves like returning response status5296 returns not_found5297API::Ci::Jobs5298 GET /job5299 when token is valid but not CI_JOB_TOKEN5300 returns not found5301 with job token authentication header5302 returns specific job data5303 avoids N+1 queries5304 behaves like returns common job data5305 returns common job data5306 behaves like returns common pipeline data5307 returns common pipeline data5308 with job token authentication params5309 returns specific job data5310 behaves like returns common job data5311 returns common job data5312 behaves like returns common pipeline data5313 returns common pipeline data5314 with non running job5315 behaves like returns unauthorized5316 returns unauthorized5317 with basic auth header5318 does not return a job5319 without authentication5320 behaves like returns unauthorized5321 returns unauthorized5322 GET /job/allowed_agents5323 when token is valid and user is authorized5324 behaves like valid allowed_agents request5325 returns agent info5326 when deployment5327 includes environment slug5328 includes environment tier5329 when non-deployment environment action5330 includes environment slug5331 includes environment tier5332 when passing the token as params5333 behaves like valid allowed_agents request5334 returns agent info5335 when user is anonymous5336 returns unauthorized5337 when token is invalid because job has finished5338 returns unauthorized5339 when token is invalid5340 returns unauthorized5341 when token is valid but not CI_JOB_TOKEN5342 returns not found5343 GET /projects/:id/jobs5344 authorized user5345 returns project jobs5346 returns correct values5347 returns pipeline data5348 avoids N+1 queries5349 without artifacts and trace5350 returns no artifacts nor trace data5351 behaves like a job with artifacts and trace5352 with artifacts and trace5353 returns artifacts and trace data5354 filter project with one scope element5355 is expected to be a kind of Array5356 filter project with array of scope elements5357 is expected to be a kind of Array5358 respond 400 when scope contains invalid state5359 is expected to respond with numeric status code bad_request5360 unauthorized user5361 when user is not logged in5362 does not return project jobs5363 when user is guest5364 does not return project jobs5365 GET /projects/:id/jobs/:job_id5366 authorized user5367 returns specific job data5368 behaves like returns common job data5369 returns common job data5370 behaves like a job with artifacts and trace5371 with artifacts and trace5372 returns artifacts and trace data5373 behaves like returns common pipeline data5374 returns common pipeline data5375 unauthorized user5376 does not return specific job data5377 when job succeeded5378 does not return failure_reason5379 when job failed5380 returns failure_reason5381 when trace artifact record exists with no stored file5382 returns no artifacts nor trace data5383 GET /projects/:id/jobs/:job_id/trace5384 authorized user5385 when log is in ObjectStorage5386 returns specific job logs5387 when log is artifact5388 returns specific job log5389 when incremental logging and uploadless log artifact5390 returns specific job log5391 when log is incremental5392 returns specific job log5393 when no log5394 returns empty log5395 when log artifact record exists with no stored file5396 returns empty trace5397 unauthorized user5398 does not return specific job log5399 when ci_debug_trace is set to true5400 public_builds: true, user_project_role: "developer", expected_status: :ok5401 renders trace to authorized users5402 public_builds: true, user_project_role: "guest", expected_status: :forbidden5403 renders trace to authorized users5404 public_builds: false, user_project_role: "developer", expected_status: :ok5405 renders trace to authorized users5406 public_builds: false, user_project_role: "guest", expected_status: :forbidden5407 renders trace to authorized users5408 when ci_debug_services is set to true5409 public_builds: true, user_project_role: "developer", expected_status: :ok5410 renders successfully to authorized users5411 public_builds: true, user_project_role: "guest", expected_status: :forbidden5412 renders successfully to authorized users5413 public_builds: false, user_project_role: "developer", expected_status: :ok5414 renders successfully to authorized users5415 public_builds: false, user_project_role: "guest", expected_status: :forbidden5416 renders successfully to authorized users5417 POST /projects/:id/jobs/:job_id/cancel5418 authorized user5419 user with :update_build persmission5420 cancels running or pending job5421 user without :update_build permission5422 does not cancel job5423 unauthorized user5424 does not cancel job5425 POST /projects/:id/jobs/:job_id/retry5426 authorized user5427 user with :update_build permission5428Skipping ./spec/requests/api/ci/jobs_spec.rb[1:7:1:1:1] 'API::Ci::Jobs POST /projects/:id/jobs/:job_id/retry authorized user user with :update_build permission retries non-running job' because it's flaky.5429 retries non-running job (PENDING: around hook at ./spec/support/flaky_tests.rb:21 did not execute the example)5430 when a build is not retryable5431 responds with unprocessable entity5432 user without :update_build permission5433 does not retry job5434 unauthorized user5435 does not retry job5436 POST /projects/:id/jobs/:job_id/erase5437 when project is not undergoing stats refresh5438 job is erasable5439 updates job5440 behaves like erases job5441 erases job content5442 when job has an unarchived trace artifact5443 behaves like erases job5444 erases job content5445 job is not erasable5446 responds with forbidden5447 when a developer erases a build5448 when the build was created by the developer5449 is expected to respond with numeric status code created5450 when the build was created by another user5451 is expected to respond with numeric status code forbidden5452 when project is undergoing stats refresh5453 behaves like preventing request because of ongoing project stats refresh5454 logs about the rejected request5455 returns 409 error5456 does not delete artifacts5457 POST /projects/:id/jobs/:job_id/play5458 on a playable job5459 when user is authorized to trigger a manual action5460 that is a bridge5461 plays the job5462 that is a build5463 plays the job5464 when the user provides valid custom variables5465 applies the variables to the job5466 when the user provides a variable without a key5467 reports that the key is missing5468 when the user provides a variable without a value5469 reports that the value is missing5470 when the user provides both valid and invalid variables5471 reports the invalid variables and does not run the job5472 when user is not authorized to trigger a manual action5473 when user does not have access to the project5474 does not trigger a manual action5475 when user is not allowed to trigger the manual action5476 does not trigger a manual action5477 on a non-playable job5478 returns a status code 400, Bad Request5479API::AwardEmoji5480 GET /projects/:id/awardable/:awardable_id/award_emoji5481 on an issue5482 returns an array of award_emoji5483 includes custom emoji attributes5484 returns a 404 error when issue id not found5485 behaves like unauthenticated request to public awardable5486 returns the awarded emoji5487 behaves like request with insufficient permissions5488 when user is not signed in5489 returns 4045490 when user does not have access5491 returns 4045492 on a merge request5493 returns an array of award_emoji5494 on a snippet5495 returns the awarded emoji5496 GET /projects/:id/awardable/:awardable_id/notes/:note_id/award_emoji5497 returns an array of award emoji5498 behaves like unauthenticated request to public awardable5499 returns the awarded emoji5500 behaves like request with insufficient permissions5501 when user is not signed in5502 returns 4045503 when user does not have access5504 returns 4045505 GET /projects/:id/awardable/:awardable_id/award_emoji/:award_id5506 on an issue5507 returns the award emoji5508 returns a 404 error if the award is not found5509 behaves like unauthenticated request to public awardable5510 returns the awarded emoji5511 behaves like request with insufficient permissions5512 when user is not signed in5513 returns 4045514 when user does not have access5515 returns 4045516 on a merge request5517 returns the award emoji5518 on a snippet5519 returns the awarded emoji5520 GET /projects/:id/awardable/:awardable_id/notes/:note_id/award_emoji/:award_id5521 returns an award emoji5522 when a confidential note5523 with sufficient persmissions5524 returns an award emoji5525 with insufficient permissions5526 returns 4045527 behaves like unauthenticated request to public awardable5528 returns the awarded emoji5529 behaves like request with insufficient permissions5530 when user is not signed in5531 returns 4045532 when user does not have access5533 returns 4045534 POST /projects/:id/awardable/:awardable_id/award_emoji5535 on an issue5536 creates a new award emoji5537 marks Todos on the Issue as done5538 returns a 400 bad request error if the name is not given5539 normalizes +1 as thumbsup award5540 when the emoji already has been awarded5541 returns a 404 status code5542 on a snippet5543 creates a new award emoji5544 behaves like request with insufficient permissions5545 when user is not signed in5546 returns 4045547 when user does not have access5548 returns 4045549 POST /projects/:id/awardable/:awardable_id/notes/:note_id/award_emoji5550 creates a new award emoji5551 marks Todos on the Noteable as done5552 normalizes +1 as thumbsup award5553 when the emoji already has been awarded5554 returns a 404 status code5555 behaves like request with insufficient permissions5556 when user is not signed in5557 returns 4045558 when user does not have access5559 returns 4045560 DELETE /projects/:id/awardable/:awardable_id/award_emoji/:award_id5561 when the awardable is an Issue5562 deletes the award5563 returns a 404 error when the award emoji can not be found5564 behaves like 412 response5565 for a modified ressource5566 returns 412 with a JSON error5567 for an unmodified ressource5568 returns 204 with an empty body5569 when the awardable is a Merge Request5570 deletes the award5571 returns a 404 error when note id not found5572 behaves like 412 response5573 for a modified ressource5574 returns 412 with a JSON error5575 for an unmodified ressource5576 returns 204 with an empty body5577 when the awardable is a Snippet5578 deletes the award5579 behaves like 412 response5580 for a modified ressource5581 returns 412 with a JSON error5582 for an unmodified ressource5583 returns 204 with an empty body5584 behaves like request with insufficient permissions5585 when user is not signed in5586 returns 4045587 when user does not have access5588 returns 4045589 DELETE /projects/:id/awardable/:awardable_id/notes/:note_id/award_emoji/:award_id5590 deletes the award5591 behaves like 412 response5592 for a modified ressource5593 returns 412 with a JSON error5594 for an unmodified ressource5595 returns 204 with an empty body5596 behaves like request with insufficient permissions5597 when user is not signed in5598 returns 4045599 when user does not have access5600 returns 4045601GroupsController5602 GET #show5603 when the group is not importing5604 tracks page views5605 behaves like details view5606 is expected to render template groups/show5607 as atom5608 is expected to render template groups/show5609 assigns events for all the projects in the group5610 when the group is importing5611 redirects to the import status page5612 does not track page views5613 GET #details5614 behaves like details view5615 is expected to render template groups/show5616 as atom5617 is expected to render template groups/show5618 assigns events for all the projects in the group5619 GET edit5620 sets the badge API endpoint5621 GET #new5622 when creating subgroups5623 and can_create_group is true5624 and logged in as Admin_with_admin_mode5625 behaves like member with ability to create subgroups5626 renders the new page5627 and logged in as Owner5628 behaves like member with ability to create subgroups5629 renders the new page5630 and logged in as Maintainer5631 behaves like member with ability to create subgroups5632 renders the new page5633 and logged in as Guest5634 behaves like member without ability to create subgroups5635 renders the 404 page5636 and logged in as Developer5637 behaves like member without ability to create subgroups5638 renders the 404 page5639 and logged in as Admin_without_admin_mode5640 behaves like member without ability to create subgroups5641 renders the 404 page5642 and can_create_group is false5643 and logged in as Admin_with_admin_mode5644 behaves like member with ability to create subgroups5645 renders the new page5646 and logged in as Owner5647 behaves like member with ability to create subgroups5648 renders the new page5649 and logged in as Maintainer5650 behaves like member with ability to create subgroups5651 renders the new page5652 and logged in as Guest5653 behaves like member without ability to create subgroups5654 renders the 404 page5655 and logged in as Developer5656 behaves like member without ability to create subgroups5657 renders the 404 page5658 and logged in as Admin_without_admin_mode5659 behaves like member without ability to create subgroups5660 renders the 404 page5661 require_verification_for_namespace_creation experiment5662 tracks a "start_create_group" event5663 when creating a sub-group5664 does not track a "start_create_group" event5665 GET #activity5666 as json5667 includes events from all projects in group and subgroups5668 when user has no permission to see the event5669 filters out invisible event5670 POST #create5671 allows creating a group5672 authorization5673 allows an admin to create a group5674 when creating chat team5675 triggers Mattermost::CreateTeamService5676 when creating subgroups5677 and can_create_group is true5678 and logged in as Owner5679 creates the subgroup5680 and logged in as Developer5681 renders the new template5682 and can_create_group is false5683 and logged in as Owner5684 creates the subgroup5685 and logged in as Developer5686 renders the new template5687 when creating a top level group5688 and can_create_group is enabled5689 creates the Group5690 and can_create_group is disabled5691 does not create the Group5692 malicious group name5693 is expected not to change `Group.count`5694 is expected to render template new5695 when creating a group with `default_branch_protection` attribute5696 for users who have the ability to create a group with `default_branch_protection`5697 creates group with the specified branch protection level5698 for users who do not have the ability to create a group with `default_branch_protection`5699 does not create the group with the specified branch protection level5700 when creating a group with captcha protection5701 allows creating a group when the reCAPTCHA is solved5702 allows creating a sub-group without checking the captcha5703 when the reCAPTCHA is not solved5704 displays an error5705 sets gon variables5706 with feature flag switched off5707 allows creating a group without the reCAPTCHA5708 when creating a group with the `role` attribute present5709 changes the users role5710 when creating a group with the `setup_for_company` attribute present5711 sets the groups `setup_for_company` value5712 when the user already has a value for `setup_for_company`5713 does not change the users `setup_for_company` value5714 when the user has no value for `setup_for_company`5715 changes the users `setup_for_company` value5716 when creating a group with the `jobs_to_be_done` attribute present5717 sets the groups `jobs_to_be_done` value5718 GET #index5719 as a user5720 redirects to Groups Dashboard5721 as a guest5722 redirects to Explore Groups5723 GET #issues5724 saves the sort order to user preferences5725 GET #merge_requests5726 sorting by votes5727 sorts most popular merge requests5728 sorts least popular merge requests5729 DELETE #destroy5730 as another user5731 returns 4045732 as the group owner5733 schedules a group destroy5734 redirects to the root path5735 PUT update5736 updates the path successfully5737 does not update the path on error5738 updates the project_creation_level successfully5739 updating default_branch_protection5740 for users who have the ability to update default_branch_protection5741 updates the attribute5742 for users who do not have the ability to update default_branch_protection5743 does not update the attribute5744 updating default_branch_name5745 updates the attribute5746 to empty string5747 does not update the attribute5748 when there is a conflicting group path5749 does not render references to the conflicting group5750 when a project inside the group has container repositories5751 does allow the group to be renamed5752 does not allow to path of the group to be changed5753 updating :resource_access_token_creation_allowed5754 when user is a group owner5755 updates the attribute5756 when not a group owner5757 does not update the attribute5758 updating :prevent_sharing_groups_outside_hierarchy5759 when user is a group owner5760 updates the attribute5761 when not a group owner5762 does not update the attribute5763 #ensure_canonical_path5764 for a GET request5765 when requesting groups at the root path5766 when requesting the canonical path with different casing5767 redirects to the correct casing5768 when requesting a redirected path5769 redirects to the canonical path5770 when the old group path is a substring of the scheme or host5771 does not modify the requested host5772 when the old group path is substring of groups5773 does not modify the /groups part of the path5774 when requesting groups under the /groups path5775 when requesting the canonical path5776 non-show path5777 with exactly matching casing5778 does not redirect5779 with different casing5780 redirects to the correct casing5781 show path5782 with exactly matching casing5783 does not redirect5784 with different casing5785 redirects to the correct casing at the root path5786 when requesting a redirected path5787 redirects to the canonical path5788 when the old group path is a substring of the scheme or host5789 does not modify the requested host5790 when the old group path is substring of groups5791 does not modify the /groups part of the path5792 when the old group path is substring of groups plus the new path5793 does not modify the /groups part of the path5794 for a POST request5795 when requesting the canonical path with different casing5796 does not 4045797 does not redirect to the correct casing5798 when requesting a redirected path5799 returns not found5800 for a DELETE request5801 when requesting the canonical path with different casing5802 does not 4045803 does not redirect to the correct casing5804 when requesting a redirected path5805 returns not found5806 PUT transfer5807 when transferring to a subgroup goes right5808 returns a notice and redirects to the new path5809 when converting to a root group goes right5810 returns a notice and redirects to the new path5811 When the transfer goes wrong5812 returns an alert and redirects to the current path5813 when the user is not allowed to transfer the group5814 is denied5815 transferring when a project has container images5816 does not allow the group to be transferred5817 POST #export5818 when the user does not have permission to export the group5819 returns an error5820 when supplied valid params5821 triggers the export job5822 redirects to the edit page5823 when the endpoint receives requests above the rate limit5824 throttles the endpoint5825 GET #download_export5826 when there is a file available to download5827 sends the file5828 when the file is no longer present on disk5829 returns not found5830 when there is no file available to download5831 returns not found5832 when the user does not have the required permissions5833 returns not_found5834 when the endpoint receives requests above the rate limit5835 throttles the endpoint5836 external authorization5837 with external authorization service enabled5838 GET #show5839 is successful5840 does not allow other formats5841 GET #edit5842 is successful5843 GET #new5844 is successful5845 GET #index5846 is successful5847 POST #create5848 creates a group5849 PUT #update5850 updates a group5851 malicious group name5852 is expected to render template edit5853 does not update name5854 DELETE #destroy5855 deletes the group5856 GET #activity5857 behaves like disabled when using an external authorization service5858 works when the feature is not enabled5859 renders a 404 with a message when the feature is enabled5860 GET #activity as JSON5861 returns count5862 GET #issues5863 behaves like disabled when using an external authorization service5864 works when the feature is not enabled5865 renders a 404 with a message when the feature is enabled5866 GET #merge_requests5867 behaves like disabled when using an external authorization service5868 works when the feature is not enabled5869 renders a 404 with a message when the feature is enabled5870 GET #unfoldered_environment_names5871 shows the environment names of a public project to an anonymous user5872 does not show environment names of private projects to anonymous users5873 shows environment names of a private project to a group member5874 does not show environment names of private projects to a logged-in non-member5875API::ProjectClusters5876 GET /projects/:id/clusters5877 feature flag is disabled5878 responds with :not_found5879 non-authorized user5880 responds with 4035881 authorized user5882 includes pagination headers5883 only includes authorized clusters5884 GET /projects/:id/clusters/:cluster_id5885 feature flag is disabled5886 responds with :not_found5887 non-authorized user5888 responds with 4035889 authorized user5890 returns specific cluster5891 returns cluster information5892 returns project information5893 returns kubernetes platform information5894 returns user information5895 returns GCP provider information5896 when cluster has no provider5897 does not include GCP provider info5898 with non-existing cluster5899 returns 4045900 POST /projects/:id/clusters/user5901 feature flag is disabled5902 responds with :not_found5903 non-authorized user5904 responds with 4035905 authorized user5906 with valid params5907 creates a new Cluster::Cluster5908 when user does not indicate authorization type5909 defaults to RBAC5910 when user sets authorization type as ABAC5911 creates an ABAC cluster5912 when namespace_per_environment is not set5913 defaults to true5914 current user does not have access to management_project_id5915 responds with 4005916 returns validation errors5917 with invalid params5918 does not create a new Clusters::Cluster5919 non-authorized user5920 responds with 4035921 POST /projects/:id/clusters/user with multiple clusters5922 when another cluster exists5923 responds with 2015924 allows multiple clusters to be associated to project5925 PUT /projects/:id/clusters/:cluster_id5926 feature flag is disabled5927 responds with :not_found5928 non-authorized user5929 responds with 4035930 authorized user5931 with valid params5932 updates cluster attributes5933 with invalid params5934 does not update cluster attributes5935 returns validation errors5936 current user does not have access to management_project_id5937 returns validation errors5938 with a GCP cluster5939 when user tries to change GCP specific fields5940 returns validation error5941 when user tries to change namespace5942 responds with 2005943 with an user cluster5944 updates platform kubernetes attributes5945 with a cluster that does not belong to user5946 responds with 4045947 DELETE /projects/:id/clusters/:cluster_id5948 feature flag is disabled5949 responds with :not_found5950 non-authorized user5951 responds with 4035952 authorized user5953 deletes the cluster5954 with a cluster that does not belong to user5955 responds with 4045956Updating a Snippet5957 PersonalSnippet5958 behaves like graphql update actions5959 when the user does not have permission5960 does not update the Snippet5961 behaves like a mutation that returns top-level errors5962 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"5963 when the user has permission5964 updates the snippet record5965 updates the Snippet5966 when there are ActiveRecord validation errors5967 does not update the Snippet5968 returns the Snippet with its original values5969 behaves like a mutation that returns errors in the response5970 is expected to contain exactly "Title can't be blank"5971 behaves like a mutation which can mutate a spammable5972 #spam_params5973 passes spam params to the service constructor5974 behaves like when the snippet is not found5975 behaves like a mutation that returns top-level errors5976 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"5977 behaves like snippet edit usage data counters5978 when user is sessionless5979 does not track usage data actions5980 when user is not sessionless5981 tracks usage data actions5982 when mutation result raises an error5983 does not track usage data actions5984 behaves like has spam protection5985 #check_spam_action_response!5986 when the object is spam (DISALLOW)5987 and no CAPTCHA is available5988 behaves like disallow response5989 informs the client that the request was denied as spam5990 and a CAPTCHA is required5991 behaves like disallow response5992 informs the client that the request was denied as spam5993 when the object is not spam (CONDITIONAL ALLOW)5994 and no CAPTCHA is required5995 does not return a top-level error5996 and a CAPTCHA is required5997 informs the client that the request may be retried after solving the CAPTCHA5998 ProjectSnippet5999 when the author is not a member of the project6000 returns an an error6001 when the author is a member of the project6002 behaves like graphql update actions6003 when the user does not have permission6004 does not update the Snippet6005 behaves like a mutation that returns top-level errors6006 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"6007 when the user has permission6008DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.6009DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.6010 updates the snippet record6011DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.6012DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.6013 updates the Snippet6014 when there are ActiveRecord validation errors6015DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.6016DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.6017 does not update the Snippet6018DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.6019DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.6020 returns the Snippet with its original values6021 behaves like a mutation that returns errors in the response6022DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.6023DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.6024 is expected to contain exactly "Title can't be blank"6025 behaves like a mutation which can mutate a spammable6026 #spam_params6027DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.6028DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.6029 passes spam params to the service constructor6030 when the snippet project feature is disabled6031 returns an an error6032 behaves like snippet edit usage data counters6033 when user is sessionless6034DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.6035DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.6036 does not track usage data actions6037 when user is not sessionless6038DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.6039DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.6040 tracks usage data actions6041 when mutation result raises an error6042DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.6043DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.6044 does not track usage data actions6045 behaves like has spam protection6046 #check_spam_action_response!6047 when the object is spam (DISALLOW)6048 and no CAPTCHA is available6049 behaves like disallow response6050 informs the client that the request was denied as spam6051 and a CAPTCHA is required6052 behaves like disallow response6053 informs the client that the request was denied as spam6054 when the object is not spam (CONDITIONAL ALLOW)6055 and no CAPTCHA is required6056DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.6057DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.6058 does not return a top-level error6059 and a CAPTCHA is required6060 informs the client that the request may be retried after solving the CAPTCHA6061 when not sessionless6062 behaves like Snowplow event tracking6063DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.6064DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.6065 is not emitted if FF is disabled6066DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.6067DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.6068 is emitted6069 behaves like when the snippet is not found6070 behaves like a mutation that returns top-level errors6071 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"6072OpenID Connect requests6073 Application without OpenID scope6074 token response does not include an ID token6075 userinfo response is unauthorized6076 Application with OpenID scope6077 token response includes an ID token6078 UserInfo payload6079 includes all user information and group memberships6080 does not include any unknown claims6081 includes email and email_verified claims6082 has public email in email claim6083 has false in email_verified claim6084 ID token payload6085 includes the subject claims6086 includes the GitLab root URL6087 includes the time of the last authentication6088 has public email in email claim6089 has true in email_verified claim6090 does not include any unknown properties6091 does include groups6092 when user is blocked6093 redirects to login page6094 when user is ldap_blocked6095 redirects to login page6096 OpenID Discovery keys6097 with a cross-origin request6098 returns data6099 behaves like cross-origin GET request6100 allows cross-origin request6101 with a cross-origin preflight OPTIONS request6102 behaves like cross-origin GET request6103 allows cross-origin request6104 OpenID WebFinger endpoint6105 with a cross-origin request6106 returns data6107 behaves like cross-origin GET request6108 allows cross-origin request6109 with a cross-origin preflight OPTIONS request6110 behaves like cross-origin GET request6111 allows cross-origin request6112 OpenID configuration information6113 correctly returns the configuration6114 with a cross-origin request6115 behaves like cross-origin GET request6116 allows cross-origin request6117 with a cross-origin preflight OPTIONS request6118 behaves like cross-origin GET request6119 allows cross-origin request6120 Application with OpenID and email scopes6121 token response includes an ID token6122 UserInfo payload6123 includes the email and email_verified claims6124 has private email in email claim6125 has true in email_verified claim6126 with a cross-origin request6127 behaves like cross-origin GET and POST request6128 allows cross-origin request6129 with a cross-origin POST request6130 behaves like cross-origin GET and POST request6131 allows cross-origin request6132 with a cross-origin preflight OPTIONS request6133 behaves like cross-origin GET and POST request6134 allows cross-origin request6135 ID token payload6136 has private email in email claim6137 has true in email_verified claim6138 does include groups6139API::Ci::PipelineSchedules6140 GET /projects/:id/pipeline_schedules6141 authenticated user with valid permissions6142 returns list of pipeline_schedules6143 avoids N + 1 queries6144 when scope is active6145 returns matched pipeline schedules6146 when scope is inactive6147 returns matched pipeline schedules6148 authenticated user with invalid permissions6149 does not return pipeline_schedules list6150 unauthenticated user6151 does not return pipeline_schedules list6152 GET /projects/:id/pipeline_schedules/:pipeline_schedule_id6153 with private project6154 behaves like request with schedule ownership6155 authenticated user with pipeline schedule ownership6156 returns pipeline_schedule details6157 behaves like request with project permissions6158 authenticated user with project permisions6159 returns pipeline_schedule details6160 behaves like request with unauthenticated user6161 with unauthenticated user6162 does not return pipeline_schedule6163 behaves like request with non-existing pipeline_schedule6164 responds with 404 Not Found if requesting non-existing pipeline_schedule6165 authenticated user with no project permissions6166 does not return pipeline_schedule6167 authenticated user with insufficient project permissions6168 does not return pipeline_schedule6169 with public project6170 behaves like request with schedule ownership6171 authenticated user with pipeline schedule ownership6172 returns pipeline_schedule details6173 behaves like request with project permissions6174 authenticated user with project permisions6175 returns pipeline_schedule details6176 behaves like request with unauthenticated user6177 with unauthenticated user6178 does not return pipeline_schedule6179 behaves like request with non-existing pipeline_schedule6180 responds with 404 Not Found if requesting non-existing pipeline_schedule6181 authenticated user with no project permissions6182 returns pipeline_schedule with no variables6183 authenticated user with insufficient project permissions6184 returns pipeline_schedule with no variables6185 GET /projects/:id/pipeline_schedules/:pipeline_schedule_id/pipelines6186 with private project6187 behaves like request with schedule ownership6188 authenticated user with pipeline schedule ownership6189 returns the details of pipelines triggered from the pipeline schedule6190 behaves like request with project permissions6191 authenticated user with project permissions6192 returns the details of pipelines triggered from the pipeline schedule6193 behaves like request with unauthenticated user6194 with unauthenticated user6195 does not return the details of pipelines triggered from the pipeline schedule6196 behaves like request with non-existing pipeline_schedule6197 responds with 404 Not Found if requesting for a non-existing pipeline schedule's pipelines6198 authenticated user with no project permissions6199 does not return the details of pipelines triggered from the pipeline schedule6200 authenticated user with insufficient project permissions6201 does not return the details of pipelines triggered from the pipeline schedule6202 with public project6203 behaves like request with schedule ownership6204 authenticated user with pipeline schedule ownership6205 returns the details of pipelines triggered from the pipeline schedule6206 behaves like request with project permissions6207 authenticated user with project permissions6208 returns the details of pipelines triggered from the pipeline schedule6209 behaves like request with unauthenticated user6210 with unauthenticated user6211 does not return the details of pipelines triggered from the pipeline schedule6212 behaves like request with non-existing pipeline_schedule6213 responds with 404 Not Found if requesting for a non-existing pipeline schedule's pipelines6214 authenticated user with no project permissions6215 returns the details of pipelines triggered from the pipeline schedule6216 POST /projects/:id/pipeline_schedules6217 authenticated user with valid permissions6218 with required parameters6219 creates pipeline_schedule6220 without required parameters6221 does not create pipeline_schedule6222 when cron has validation error6223 does not create pipeline_schedule6224 authenticated user with invalid permissions6225 does not create pipeline_schedule6226 unauthenticated user6227 does not create pipeline_schedule6228 PUT /projects/:id/pipeline_schedules/:pipeline_schedule_id6229 authenticated user with valid permissions6230 updates cron6231 when cron has validation error6232 does not update pipeline_schedule6233 authenticated user with invalid permissions6234 as a project maintainer6235 does not update pipeline_schedule6236 as a project owner6237 does not update pipeline_schedule6238 with no special role6239 does not update pipeline_schedule6240 unauthenticated user6241 does not update pipeline_schedule6242 POST /projects/:id/pipeline_schedules/:pipeline_schedule_id/take_ownership6243 as an authenticated user with valid permissions6244 updates owner6245 as an authenticated user with invalid permissions6246 does not update owner6247 as an unauthenticated user6248 does not update owner6249 as the existing owner of the schedule6250 rejects the request and leaves the schedule unchanged6251 DELETE /projects/:id/pipeline_schedules/:pipeline_schedule_id6252 authenticated user with valid permissions6253 deletes pipeline_schedule6254 responds with 404 Not Found if requesting non-existing pipeline_schedule6255 behaves like 412 response6256 for a modified ressource6257 returns 412 with a JSON error6258 for an unmodified ressource6259 returns 204 with an empty body6260 authenticated user with invalid permissions6261 does not delete pipeline_schedule6262 unauthenticated user6263 does not delete pipeline_schedule6264 POST /projects/:id/pipeline_schedules/:pipeline_schedule_id/play6265 authenticated user with `:play_pipeline_schedule` permission6266 schedules a pipeline worker6267 renders an error if scheduling failed6268 authenticated user with insufficient access6269 responds with not found6270 unauthenticated user6271 responds with unauthorized6272 POST /projects/:id/pipeline_schedules/:pipeline_schedule_id/variables6273 authenticated user with valid permissions6274 with required parameters6275 creates pipeline_schedule_variable6276 without required parameters6277 does not create pipeline_schedule_variable6278 when key has validation error6279 does not create pipeline_schedule_variable6280 authenticated user with invalid permissions6281 does not create pipeline_schedule_variable6282 unauthenticated user6283 does not create pipeline_schedule_variable6284 PUT /projects/:id/pipeline_schedules/:pipeline_schedule_id/variables/:key6285 authenticated user with valid permissions6286 updates pipeline_schedule_variable6287 authenticated user with invalid permissions6288 does not update pipeline_schedule_variable6289 unauthenticated user6290 does not update pipeline_schedule_variable6291 DELETE /projects/:id/pipeline_schedules/:pipeline_schedule_id/variables/:key6292 authenticated user with valid permissions6293 deletes pipeline_schedule_variable6294 responds with 404 Not Found if requesting non-existing pipeline_schedule_variable6295 authenticated user with invalid permissions6296 does not delete pipeline_schedule_variable6297 unauthenticated user6298 does not delete pipeline_schedule_variable6299GitLab metrics server6300 behaves like spawns a server6301 targeting puma when using Golang server is true6302 behaves like serves metrics endpoint6303 serves /metrics endpoint6304 when using Pathname instance as target directory6305 behaves like serves metrics endpoint6306 serves /metrics endpoint6307 behaves like spawns a server6308 targeting puma when using Golang server is false6309 behaves like serves metrics endpoint6310 serves /metrics endpoint6311 when using Pathname instance as target directory6312 behaves like serves metrics endpoint6313 serves /metrics endpoint6314 behaves like spawns a server6315 targeting sidekiq when using Golang server is true6316 behaves like serves metrics endpoint6317 serves /metrics endpoint6318 when using Pathname instance as target directory6319 behaves like serves metrics endpoint6320 serves /metrics endpoint6321 behaves like spawns a server6322 targeting sidekiq when using Golang server is false6323 behaves like serves metrics endpoint6324 serves /metrics endpoint6325 when using Pathname instance as target directory6326 behaves like serves metrics endpoint6327 serves /metrics endpoint6328getting a package list for a group6329 behaves like group and project packages query6330 when user has access to the resource6331 returns packages successfully6332 deals with metadata6333 returns the count of the packages6334 behaves like a working graphql query6335 returns a successful response6336 when the user does not have access to the resource6337 returns nil6338 behaves like a working graphql query6339 returns a successful response6340 when the user is not authenticated6341 returns nil6342 behaves like a working graphql query6343 returns a successful response6344 sorting and pagination6345 CREATED_ASC6346 behaves like sorted paginated query6347 behaves like requires variables6348 shared example requires variables to be set6350 when sorting6351 sorts correctly6352 when paginating6353 paginates correctly6354 NAME_ASC6355 behaves like sorted paginated query6356 behaves like requires variables6357 shared example requires variables to be set6359 when sorting6360 sorts correctly6361 when paginating6362 paginates correctly6363 VERSION_ASC6364 behaves like sorted paginated query6365 behaves like requires variables6366 shared example requires variables to be set6368 when sorting6369 sorts correctly6370 when paginating6371 paginates correctly6372 TYPE_ASC6373 behaves like sorted paginated query6374 behaves like requires variables6375 shared example requires variables to be set6377 when sorting6378 sorts correctly6379 when paginating6380 paginates correctly6381 CREATED_DESC6382 behaves like sorted paginated query6383 behaves like requires variables6384 shared example requires variables to be set6386 when sorting6387 sorts correctly6388 when paginating6389 paginates correctly6390 NAME_DESC6391 behaves like sorted paginated query6392 behaves like requires variables6393 shared example requires variables to be set6395 when sorting6396 sorts correctly6397 when paginating6398 paginates correctly6399 VERSION_DESC6400 behaves like sorted paginated query6401 behaves like requires variables6402 shared example requires variables to be set6404 when sorting6405 sorts correctly6406 when paginating6407 paginates correctly6408 TYPE_DESC6409 behaves like sorted paginated query6410 behaves like requires variables6411 shared example requires variables to be set6413 when sorting6414 sorts correctly6415 when paginating6416 paginates correctly6417 with an invalid sort6418 throws an error6419 filtering6420 package_name6421 is expected to contain exactly {"name"=>"bab"}6422 package_type6423 is expected to contain exactly {"name"=>"dab"}6424 status6425 is expected to contain exactly {"name"=>"my/company/app/my-app"}6426 include_versionless6427 is expected to include {"name" => "my/company/app/my-app"}6428 when reading pipelines6429 loads the second page with pagination first correctly6430 loads the second page with pagination last correctly6431 with a batched query6432 returns an error for the second group and data for the first6433API::Todos6434 GET /todos6435 avoids N+1 queries6436 when unauthenticated6437 returns authentication error6438 when authenticated6439 returns an array of pending todos for current user6440 when invalid params6441 invalid action6442 returns 4006443 invalid state6444 returns 4006445 invalid type6446 returns 4006447 when current user does not have access to one of the TODO's target6448 filters out unauthorized todos6449 and using the author filter6450 filters based on author_id param6451 and using the type filter6452 filters based on type param6453 and using the state filter6454 filters based on state param6455 and using the project filter6456 filters based on project_id param6457 and using the group filter6458 filters based on project_id param6459 and using the action filter6460 filters based on action param6461 when there is a Design Todo6462 is expected to respond with numeric status code ok6463 avoids N+1 queries6464 includes the Design Todo in the response6465 POST /todos/:id/mark_as_done6466 when unauthenticated6467 returns authentication error6468 when authenticated6469 marks a todo as done6470 updates todos cache6471 returns 404 if the todo does not belong to the current user6472 POST /mark_as_done6473 when unauthenticated6474 returns authentication error6475 when authenticated6476 marks all todos as done6477 updates todos cache6478 POST :id/issuable_type/:issuable_id/todo6479 for an issue6480 returns an error if the issue author does not have access6481 behaves like an issuable6482 creates a todo on an issuable6483 returns 304 there already exist a todo on that issuable6484 returns 404 if the issuable is not found6485 returns an error if the issuable is not accessible6486 for a merge request6487 returns an error if the merge request author does not have access6488 behaves like an issuable6489 creates a todo on an issuable6490 returns 304 there already exist a todo on that issuable6491 returns 404 if the issuable is not found6492 returns an error if the issuable is not accessible6493Self-Monitoring project requests6494 POST #create_self_monitoring_project6495 behaves like not accessible to non-admin users6496 with unauthenticated user6497 redirects to signin page6498 with authenticated non-admin user6499 returns status not_found6500 with authenticated admin user without admin mode6501 redirects to enable admin mode6502 with admin user6503 when the self-monitoring project is created6504 behaves like triggers async worker, returns sidekiq job_id with response accepted6505 returns sidekiq job_id of expected length6506 triggers async worker6507 returns accepted response6508 returns job_id6509 GET #status_create_self_monitoring_project6510 behaves like not accessible to non-admin users6511 with unauthenticated user6512 redirects to signin page6513 with authenticated non-admin user6514 returns status not_found6515 with authenticated admin user without admin mode6516 redirects to enable admin mode6517 with admin user6518 when the self-monitoring project is being created6519 behaves like handles invalid job_id6520 with invalid job_id6521 returns bad_request if job_id too long6522 when job is in progress6523 behaves like sets polling header and returns accepted6524 sets polling header6525 returns accepted6526 when self-monitoring project and job do not exist6527 returns bad_request6528 when self-monitoring project exists6529 does not need job_id6530 returns success with job_id6531 DELETE #delete_self_monitoring_project6532 behaves like not accessible to non-admin users6533 with unauthenticated user6534 redirects to signin page6535 with authenticated non-admin user6536 returns status not_found6537 with authenticated admin user without admin mode6538 redirects to enable admin mode6539 with admin user6540 when the self-monitoring project is deleted6541 behaves like triggers async worker, returns sidekiq job_id with response accepted6542 returns sidekiq job_id of expected length6543 triggers async worker6544 returns accepted response6545 returns job_id6546 GET #status_delete_self_monitoring_project6547 behaves like not accessible to non-admin users6548 with unauthenticated user6549 redirects to signin page6550 with authenticated non-admin user6551 returns status not_found6552 with authenticated admin user without admin mode6553 redirects to enable admin mode6554 with admin user6555 when the self-monitoring project is being deleted6556 behaves like handles invalid job_id6557 with invalid job_id6558 returns bad_request if job_id too long6559 when job is in progress6560 behaves like sets polling header and returns accepted6561 sets polling header6562 returns accepted6563 when self-monitoring project exists and job does not exist6564 returns bad_request6565 when self-monitoring project does not exist6566 does not need job_id6567 returns success with job_id6568Projects::Settings::AccessTokensController6569 GET /:namespace/:project/-/settings/access_tokens6570 behaves like feature unavailable6571 user is not a maintainer6572 is expected to respond with numeric status code not_found6573 behaves like GET resource access tokens available6574 retrieves active resource access tokens6575 lists all available scopes6576 returns for json response6577 when access_tokens are paginated6578 returns paginated response6579 when access_token_pagination feature flag is disabled6580 returns all tokens in system6581 as tokens returned are ordered6582 orders token list ascending on expires_at6583 orders tokens on id in case token has same expires_at6584 POST /:namespace/:project/-/settings/access_tokens6585 behaves like feature unavailable6586 user is not a maintainer6587 is expected to respond with numeric status code not_found6588 behaves like POST resource access tokens available6589 renders JSON with a token6590 creates resource access token6591 creates project bot user6592 is expected to change `User.count` by 16593 is expected to change `PersonalAccessToken.count` by 16594 when unsuccessful6595 does not create the token6596 does not add the project bot as a member6597 does not create the project bot user6598 renders JSON with an error6599 when project access token creation is disabled6600 is expected to respond with numeric status code not_found6601 does not create the token6602 does not add the project bot as a member6603 does not create the project bot user6604 with custom access level6605 behaves like POST resource access tokens available6606 renders JSON with a token6607 creates resource access token6608 creates project bot user6609 is expected to change `User.count` by 16610 is expected to change `PersonalAccessToken.count` by 16611 when unsuccessful6612 does not create the token6613 does not add the project bot as a member6614 does not create the project bot user6615 renders JSON with an error6616 PUT /:namespace/:project/-/settings/access_tokens/:id6617 behaves like feature unavailable6618 user is not a maintainer6619 is expected to respond with numeric status code not_found6620 behaves like PUT resource access tokens available6621 calls delete user worker6622 removes membership of bot user6623 when user_destroy_with_limited_execution_time_worker is enabled6624 creates GhostUserMigration records to handle migration in a worker6625 when user_destroy_with_limited_execution_time_worker is disabled6626 converts issuables of the bot user to ghost user6627 deletes project bot user6628 when unsuccessful6629 shows a failure alert6630 #index6631 includes details of the active project access tokens6632Import::GitlabController6633 GET callback6634 updates access token6635 importable_repos should return an array6636 passes namespace_id query param to status if provided6637 GET status6638 redirects to auth if session does not contain access token6639 when session contains access token6640 behaves like import controller status6641 returns variables for json request6642 POST create6643 returns 200 response when the project is imported successfully6644 returns 422 response when the project could not be imported6645 when the repository owner is the GitLab.com user6646 when the GitLab.com user and GitLab server user's usernames match6647 takes the current user's namespace6648 when the GitLab.com user and GitLab server user's usernames don't match6649 takes the current user's namespace6650 when the repository owner is not the GitLab.com user6651 when a namespace with the GitLab.com user's username already exists6652 when the namespace is owned by the GitLab server user6653 takes the existing namespace6654 when the namespace is not owned by the GitLab server user6655 doesn't create a project6656 when a namespace with the GitLab.com user's username doesn't exist6657 when current user can create namespaces6658 creates the namespace6659 takes the new namespace6660 when current user can't create namespaces6661 doesn't create the namespace6662 takes the current user's namespace6663 user has chosen an existing nested namespace for the project6664 takes the selected namespace and name6665 user has chosen a non-existent nested namespaces for the project6666 takes the selected namespace and name6667 creates the namespaces6668 new namespace has the right parent6669 user has chosen existent and non-existent nested namespaces and name for the project6670 takes the selected namespace and name6671 creates the namespaces6672 when user can not create projects in the chosen namespace6673 returns 422 response6674 behaves like project import rate limiter6675 when limit exceeds6676 notifies and redirects user6677Jira referenced paths6678 behaves like redirects to jira path6679 redirects to canonical path with legacy prefix6680 redirects to canonical path6681 contains @ before the first /6682 behaves like redirects to jira path6683 redirects to canonical path with legacy prefix6684 redirects to canonical path6685 including commit path6686 behaves like redirects to jira path6687 redirects to canonical path with legacy prefix6688 redirects to canonical path6689 including tree path6690 behaves like redirects to jira path6691 redirects to canonical path with legacy prefix6692 redirects to canonical path6693 malicious path6694 behaves like redirects to jira path6695 redirects to canonical path with legacy prefix6696 redirects to canonical path6697 regular paths with legacy prefix6698 jira_path: "/-/jira/group/group_project", redirect_path: "/group/group_project"6699 redirects to canonical path6700 jira_path: "/-/jira/group/group_project/commit/1234567", redirect_path: "/group/group_project/commit/1234567"6701 redirects to canonical path6702 jira_path: "/-/jira/group/group_project/tree/1234567", redirect_path: "/group/group_project/-/tree/1234567"6703 redirects to canonical path6704 when tree path has an @6705 does not do a redirect6706API::Internal::Kubernetes6707 POST /internal/kubernetes/usage_metrics6708 not authenticated6709 returns 4016710 kubernetes_agent_internal_api feature flag disabled6711 returns 4046712 is authenticated for an agent6713 returns no_content for valid events6714 returns no_content for counts of zero6715 returns 400 for non counter number6716 returns 400 for non unique_counter set6717 tracks events6718 deprecated events6719 returns no_content for valid events6720 returns no_content for counts of zero6721 returns 400 for non number6722 returns 400 for negative number6723 tracks events6724 POST /internal/kubernetes/agent_configuration6725 not authenticated6726 returns 4016727 kubernetes_agent_internal_api feature flag disabled6728 returns 4046729 agent exists6730 configures the agent and returns a 2046731 agent does not exist6732 returns a 4046733 GET /internal/kubernetes/agent_info6734 returns 401 if Authorization header not sent6735 returns 401 if Authorization is for non-existent agent6736 not authenticated6737 returns 4016738 kubernetes_agent_internal_api feature flag disabled6739 returns 4046740 an agent is found6741 tracks token usage6742 returns expected data6743 GET /internal/kubernetes/project_info6744 returns 401 if Authorization header not sent6745 returns 401 if Authorization is for non-existent agent6746 not authenticated6747 returns 4016748 kubernetes_agent_internal_api feature flag disabled6749 returns 4046750 an agent is found6751 project is public6752 returns expected data6753 repository is for project members only6754 returns 4046755 project is private6756 returns 4046757 and agent belongs to project6758 returns 2006759 project is internal6760 returns 4046761 project does not exist6762 returns 4046763API::ResourceLabelEvents6764 when eventable is an Issue6765 behaves like resource_label_events API6766 GET /projects/:id/issues/:noteable_id/resource_label_events6767 with local label reference6768 returns an array of resource label events6769 returns a 404 error when eventable id not found6770 returns 404 when not authorized6771 with cross-project label reference6772 returns cross references accessible by user6773 does not return cross references not accessible by user6774 GET /projects/:id/issues/:noteable_id/resource_label_events/:event_id6775 with local label reference6776 returns a resource label event by id6777 returns 404 when not authorized6778 returns a 404 error if resource label event not found6779 with cross-project label reference6780 returns a 404 error if cross-reference project is not accessible6781 pagination6782 returns the second page6783 when eventable is a Merge Request6784 behaves like resource_label_events API6785 GET /projects/:id/merge_requests/:noteable_id/resource_label_events6786 with local label reference6787 returns an array of resource label events6788 returns a 404 error when eventable id not found6789 returns 404 when not authorized6790 with cross-project label reference6791 returns cross references accessible by user6792 does not return cross references not accessible by user6793 GET /projects/:id/merge_requests/:noteable_id/resource_label_events/:event_id6794 with local label reference6795 returns a resource label event by id6796 returns 404 when not authorized6797 returns a 404 error if resource label event not found6798 with cross-project label reference6799 returns a 404 error if cross-reference project is not accessible6800 pagination6801 returns the second page6802API::ErrorTracking::ProjectSettings6803 PATCH /projects/:id/error_tracking/settings6804 when authenticated as maintainer6805 patch settings6806 updates enabled flag6807 integrated_error_tracking feature enabled6808 behaves like returns project settings6809 returns correct project settings6810 integrated_error_tracking feature disabled6811 behaves like returns project settings with false for integrated6812 is expected to eq {"active"=>false, "api_url"=>"https://sentrytest.gitlab.com/api/0/projects/sentry-org/sentry-project"...>"Sentry Project", "sentry_external_url"=>"https://sentrytest.gitlab.com/sentry-org/sentry-project"}6813 active is invalid6814 returns active is invalid if non boolean6815 active is empty6816 returns 4006817 with integrated param6818 integrated_error_tracking feature enabled6819 updates the integrated flag6820 without a project setting6821 patch settings6822 behaves like returns 4046823 returns no project settings6824 when authenticated as reporter6825 patch request6826 returns 4036827 when authenticated as developer6828 patch request6829 returns 4036830 when authenticated as non-member6831 patch request6832 returns 4046833 when unauthenticated6834 patch request6835 returns 401 for update request6836 GET /projects/:id/error_tracking/settings6837 when authenticated as maintainer6838 get settings6839 integrated_error_tracking feature enabled6840 behaves like returns project settings6841 returns correct project settings6842 integrated_error_tracking feature disabled6843 behaves like returns project settings with false for integrated6844 is expected to eq {"active"=>true, "api_url"=>"https://sentrytest.gitlab.com/api/0/projects/sentry-org/sentry-project",...>"Sentry Project", "sentry_external_url"=>"https://sentrytest.gitlab.com/sentry-org/sentry-project"}6845 without a project setting6846 get settings6847 behaves like returns 4046848 returns no project settings6849 when authenticated as reporter6850 returns 4036851 when authenticated as developer6852 returns 4036853 when authenticated as non-member6854 returns 4046855 when unauthenticated6856 returns 4016857getting an issue list for a group6858 behaves like a working graphql query6859 returns a successful response6860 when there are archived projects6861 excludes issues from archived projects by default6862 when include_archived is true6863 includes issues from archived projects6864 when there is a confidential issue6865 when the user cannot see confidential issues6866 returns issues without confidential issues for the group6867 filtering for confidential issues6868 returns no issues6869 filtering for non-confidential issues6870 returns correctly filtered issues6871 when the user can see confidential issues6872 returns issues with confidential issues for the group6873 filtering for confidential issues6874 returns correctly filtered issues6875 filtering for non-confidential issues6876 returns correctly filtered issues6877Projects::CycleAnalyticsController6878 includes GracefulTimeoutHandling6879 counting page views for 'show'6880 increases the counter6881 tracking visits to html page6882 behaves like tracking unique visits6883 tracks unique visit if the format is HTML6884 tracks unique visit if DNT is not enabled6885 does not track unique visit if DNT is enabled6886 does not track unique visit if the format is JSON6887 behaves like Snowplow event tracking with RedisHLL context6888 behaves like Snowplow event tracking6889 is not emitted if FF is disabled6890 is emitted6891Query.runner(id)6892 for active runner6893 behaves like runner details fetch6894 retrieves expected fields6895 when tagList is not requested6896 does not retrieve tagList6897 for project runner6898 locked6899 is_locked: true6900 retrieves correct locked value6901 is_locked: false6902 retrieves correct locked value6903 ownerProject6904 retrieves correct ownerProject.id values6905 for inactive runner6906 behaves like runner details fetch6907 retrieves expected fields6908 for group runner request6909 retrieves groups field with expected value6910 for runner with status6911 retrieves status fields with expected values6912 for multiple runners6913 requesting projects and counts for projects and jobs6914 retrieves expected fields6915 by regular user6916 on instance runner6917 behaves like retrieval by unauthorized user6918 returns null runner6919 on group runner6920 behaves like retrieval by unauthorized user6921 returns null runner6922 on project runner6923 behaves like retrieval by unauthorized user6924 returns null runner6925 by non-admin user6926 behaves like retrieval with no admin url6927 retrieves expected fields6928 by unauthenticated user6929 behaves like retrieval by unauthorized user6930 returns null runner6931 Query limits6932 does not execute more queries per runner6933 sorting and pagination6934 with project search term6935 set to empty string6936 with n = 16937 returns paged result6938 behaves like a working graphql query6939 returns a successful response6940 with n = 26941 returns non-paged result6942 set to partial match6943 with n = 16944 returns paged result with no additional pages6945 behaves like a working graphql query6946 returns a successful response6947API::Topics6948 GET /topics6949 returns topics ordered by total_projects_count6950 with without_projects6951 returns topics without assigned projects6952 returns topics without assigned projects6953 with search6954 search: "", result: ["other-topic", "GitLab", "Git"]6955 returns filtered topics6956 search: "g", result: []6957 returns filtered topics6958 search: "gi", result: []6959 returns filtered topics6960 search: "git", result: ["Git", "GitLab"]6961 returns filtered topics6962 search: "x", result: []6963 returns filtered topics6964 search: 0, result: []6965 returns filtered topics6966 with pagination6967 params: {:page=>0}, result: ["other-topic", "GitLab", "Git"]6968 returns paginated topics6969 params: {:page=>1}, result: ["other-topic", "GitLab", "Git"]6970 returns paginated topics6971 params: {:page=>2}, result: []6972 returns paginated topics6973 params: {:per_page=>1}, result: ["other-topic"]6974 returns paginated topics6975 params: {:per_page=>2}, result: ["other-topic", "GitLab"]6976 returns paginated topics6977 params: {:per_page=>3}, result: ["other-topic", "GitLab", "Git"]6978 returns paginated topics6979 params: {:page=>0, :per_page=>1}, result: ["other-topic"]6980 returns paginated topics6981 params: {:page=>0, :per_page=>2}, result: ["other-topic", "GitLab"]6982 returns paginated topics6983 params: {:page=>1, :per_page=>1}, result: ["other-topic"]6984 returns paginated topics6985 params: {:page=>1, :per_page=>2}, result: ["other-topic", "GitLab"]6986 returns paginated topics6987 params: {:page=>2, :per_page=>1}, result: ["GitLab"]6988 returns paginated topics6989 params: {:page=>2, :per_page=>2}, result: ["Git"]6990 returns paginated topics6991 params: {:page=>3, :per_page=>1}, result: ["Git"]6992 returns paginated topics6993 params: {:page=>3, :per_page=>2}, result: []6994 returns paginated topics6995 params: {:page=>4, :per_page=>1}, result: []6996 returns paginated topics6997 params: {:page=>4, :per_page=>2}, result: []6998 returns paginated topics6999 GET /topic/:id7000 returns topic7001 returns 404 for non existing id7002 returns 400 for invalid `id` parameter7003 POST /topics7004 as administrator7005 creates a topic7006 creates a topic with avatar and description7007 returns 400 if name is missing7008 returns 400 if name is not unique (case insensitive)7009 returns 400 if title is missing7010 as normal user7011 returns 403 Forbidden7012 as anonymous7013 returns 401 Unauthorized7014 PUT /topics7015 as administrator7016 updates a topic7017 updates a topic with avatar and description7018 keeps avatar when updating other fields7019 returns 404 for non existing id7020 returns 400 for invalid `id` parameter7021 with blank avatar7022/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/carrierwave-1.3.2/lib/carrierwave/mounter.rb:113: warning: deprecated Object#=~ is called on TrueClass; it always returns nil7023 removes avatar7024/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/carrierwave-1.3.2/lib/carrierwave/mounter.rb:113: warning: deprecated Object#=~ is called on TrueClass; it always returns nil7025 removes avatar besides other changes7026/builds/gitlab-org/gitlab/vendor/ruby/2.7.0/gems/carrierwave-1.3.2/lib/carrierwave/mounter.rb:113: warning: deprecated Object#=~ is called on TrueClass; it always returns nil7027 does not remove avatar in case of other errors7028 as normal user7029 returns 403 Forbidden7030 as anonymous7031 returns 401 Unauthorized7032 DELETE /topics7033 as administrator7034 deletes a topic7035 returns 404 for non existing id7036 returns 400 for invalid `id` parameter7037 as normal user7038 returns 403 Forbidden7039 as anonymous7040 returns 401 Unauthorized7041 POST /topics/merge7042 as administrator7043 merge topics7044 returns 404 for non existing source topic id7045 returns 404 for non existing target topic id7046 returns 400 for identical topic ids7047 returns 400 if merge failed7048 as normal user7049 returns 403 Forbidden7050 as anonymous7051 returns 401 Unauthorized7052deleting designs7053 the designs list is empty7054 behaves like a failed request7055 reports an error7056 the designs list contains filenames we cannot find7057 behaves like a failed request7058 reports an error7059 the current user does not have developer access7060 behaves like a failed request7061 reports an error7062 when the issue does not exist7063 behaves like a failed request7064 reports an error7065 when saving the designs raises an error7066 responds with errors7067 one of the designs is already deleted7068 reports an error7069 when the user names designs to delete7070 deletes the designs7071 has no errors7072Groups::Settings::CiCdController7073 GET #show7074 when user is owner7075 renders show with 200 status code7076 when user is not owner7077 renders a 4047078 external authorization7079 renders show with 200 status code7080 PATCH #update_auto_devops7081 when user does not have enough permission7082 is expected to respond with numeric status code not_found7083 when user has enough privileges7084 is expected to redirect to "/groups/group111/-/settings/ci_cd"7085 when service execution went wrong7086 returns a flash alert7087 when service execution was successful7088 returns a flash notice7089 when changing auto devops value7090 when explicitly enabling auto devops7091 updates group attribute7092 when explicitly disabling auto devops7093 updates group attribute7094 PATCH #update7095 when user is not an admin7096 is expected to respond with numeric status code not_found7097 when user is an admin7098 when admin mode is disabled7099 is expected to respond with numeric status code not_found7100 when admin mode is enabled7101 is expected to redirect to "/groups/group111/-/settings/ci_cd"7102 when service execution went wrong7103 returns a flash alert7104 when service execution was successful7105 returns a flash notice7106API::ProjectRepositoryStorageMoves7107 behaves like repository_storage_moves API7108 GET /projects/:id/repository_storage_moves7109 behaves like get container repository storage move list7110 returns container repository storage moves7111 avoids N+1 queries7112 returns the most recently created first7113 permissions7114 is expected to be allowed for :admin7115 is expected to be denied for :user7116 non-existent container7117 returns not found7118 GET /projects/:id/repository_storage_moves/:repository_storage_move_id7119 behaves like get single container repository storage move7120 returns a container repository storage move7121 non-existent container repository storage move7122 returns not found7123 permissions7124 is expected to be allowed for :admin7125 is expected to be denied for :user7126 non-existent container7127 returns not found7128 GET /project_repository_storage_moves7129 behaves like get container repository storage move list7130 returns container repository storage moves7131 avoids N+1 queries7132 returns the most recently created first7133 permissions7134 is expected to be allowed for :admin7135 is expected to be denied for :user7136 GET /project_repository_storage_moves/:repository_storage_move_id7137 behaves like get single container repository storage move7138 returns a container repository storage move7139 non-existent container repository storage move7140 returns not found7141 permissions7142 is expected to be allowed for :admin7143 is expected to be denied for :user7144 POST /projects/:id/repository_storage_moves7145 schedules a container repository storage move7146 permissions7147 is expected to be allowed for :admin7148 is expected to be denied for :user7149 destination_storage_name is missing7150 schedules a container repository storage move7151 when container does not exist7152 returns not found7153 POST /project_repository_storage_moves7154 schedules the worker7155 source_storage_name is invalid7156 gives an error7157 destination_storage_name is missing7158 schedules the worker7159 destination_storage_name is invalid7160 gives an error7161 normal user7162 is expected to be denied for :user7163Update a work item task7164 the user is not allowed to read a work item7165 behaves like a mutation that returns a top-level access error7166 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"7167 when user has permissions to update a work item7168DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.7169DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.7170DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.7171DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.7172 updates the work item and invalidates markdown cache on the original work item7173 when providing invalid task params7174 makes no changes to the DB and returns an error message7175 when user cannot update the task7176 behaves like a mutation that returns a top-level access error7177 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"7178 behaves like has spam protection7179 #check_spam_action_response!7180 when the object is spam (DISALLOW)7181 and no CAPTCHA is available7182 behaves like disallow response7183 informs the client that the request was denied as spam7184 and a CAPTCHA is required7185 behaves like disallow response7186 informs the client that the request was denied as spam7187 when the object is not spam (CONDITIONAL ALLOW)7188 and no CAPTCHA is required7189DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.7190DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.7191DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.7192DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.7193 does not return a top-level error7194 and a CAPTCHA is required7195 informs the client that the request may be retried after solving the CAPTCHA7196 when user does not have permissions to update a work item7197 behaves like a mutation that returns a top-level access error7198 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"7199Admin::SessionsController7200 #new7201 for regular users7202 shows error page7203 for admin users7204 renders a password form7205 already in admin mode7206 redirects to original location7207 #create7208 for regular users7209 shows error page7210 for admin users7211 sets admin mode with a valid password7212 fails with an invalid password7213 fails if not requested first7214 fails if request period expired7215 when using two-factor authentication via OTP7216 requests two factor after a valid password is provided7217 can login with valid otp7218 cannot login with invalid otp7219 with password authentication disabled7220 allows 2FA stage of non-password login7221 on a read-only instance7222 does not attempt to write to the database with valid otp7223 does not attempt to write to the database with invalid otp7224 does not attempt to write to the database with backup code7225 when using two-factor authentication via U2F7226 behaves like when using two-factor authentication via hardware device7227 requests two factor after a valid password is provided7228 can login with valid auth7229 cannot login with invalid auth7230 when using two-factor authentication via WebAuthn7231 behaves like when using two-factor authentication via hardware device7232 requests two factor after a valid password is provided7233 can login with valid auth7234 cannot login with invalid auth7235 #destroy7236 for regular users7237 shows error page7238 for admin users7239 disables admin mode and redirects to main page7240package details7241DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.7242DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.7243 has the correct metadata7244DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.7245DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.7246 does not have files7247 behaves like a package detail7248 behaves like a working graphql query7249DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.7250DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.7251 returns a successful response7252 behaves like matching the package details schema7253DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.7254DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.7255 matches the JSON schema7256 with pipelines7257 behaves like a working graphql query7258DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.7259DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.7260 returns a successful response7261 behaves like matching the package details schema7262DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.7263DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.7264 matches the JSON schema7265Destroying a container repository7266 post graphql mutation7267 with valid id7268 user_role: :maintainer, shared_examples_name: "destroying the container repository"7269 behaves like destroying the container repository7270DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.7271DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.7272 destroy the container repository7273 behaves like returning response status7274DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.7275DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.7276 returns success7277 user_role: :developer, shared_examples_name: "destroying the container repository"7278 behaves like destroying the container repository7279DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.7280DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.7281 destroy the container repository7282 behaves like returning response status7283DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.7284DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.7285 returns success7286 user_role: :reporter, shared_examples_name: "denying the mutation request"7287 behaves like denying the mutation request7288 does not destroy the container repository7289 behaves like returning response status7290 returns success7291 user_role: :guest, shared_examples_name: "denying the mutation request"7292 behaves like denying the mutation request7293 does not destroy the container repository7294 behaves like returning response status7295 returns success7296 user_role: :anonymous, shared_examples_name: "denying the mutation request"7297 behaves like denying the mutation request7298 does not destroy the container repository7299 behaves like returning response status7300 returns success7301 with invalid id7302 behaves like denying the mutation request7303 does not destroy the container repository7304 behaves like returning response status7305 returns success7306Requests on a read-only node7307 when db is read-only7308 behaves like graphql on a read-only GitLab instance7309 mutations7310 disallows the query7311 does not destroy the Note7312 read-only queries7313DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.7314DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.7315 allows the query7316ProfilesController7317 POST update7318 does not update password7319 PUT update7320 allows an email update from a user without an external email address7321 allows an email update without confirmation if existing verified email7322 ignores an email update from a user with an external email address7323 ignores an email and name update but allows a location update from a user with external email and name, but not external location7324 allows setting a user status7325 allows updating user specified job title7326 allows updating user specified pronouns7327 allows updating user specified pronunciation7328 GET audit_log7329 tracks search event7330 loads page correctly7331 PUT update_username7332 allows username change7333 updates a username using JSON request7334 renders an error message when the username was not updated7335 raises a correct error when the username is missing7336 with legacy storage7337 moves dependent projects to new namespace7338 with hashed storage7339 keeps repository location unchanged on disk7340 when the rate limit is reached7341 does not update the username and returns status 429 Too Many Requests7342API::MergeRequestApprovals7343 GET :id/merge_requests/:merge_request_iid/approvals7344 retrieves the approval status7345 when merge request author has only guest access7346 behaves like rejects user from accessing merge request info7347 returns a 403 error7348 POST :id/merge_requests/:merge_request_iid/approve7349 as a valid approver7350 when the sha param is not set7351 approves the merge request7352 when the sha param is correct7353 approves the merge request7354 when the sha param is incorrect7355 does not approve the merge request7356 POST :id/merge_requests/:merge_request_iid/unapprove7357 as a user who has approved the merge request7358 unapproves the merge request7359Query current user todos7360 contains the expected ids7361 returns Todos for all target types7362 behaves like a working graphql query7363 returns a successful response7364API::Keys7365 GET /keys/:uid7366 when unauthenticated7367 returns authentication error7368 when authenticated7369 returns 404 for non-existing key7370 returns single ssh key with user information7371 does not include the user's `is_admin` flag7372 GET /keys?fingerprint=7373 returns authentication error7374 returns authentication error when authenticated as user7375 when authenticated as admin7376 returns 404 for non-existing SSH sha256 fingerprint7377 returns user if SSH sha256 fingerprint found7378 returns user if SSH sha256 fingerprint found7379 does not include the user's `is_admin` flag7380 MD5 fingerprint7381 returns 404 for non-existing SSH md5 fingerprint7382 returns user if SSH md5 fingerprint found7383 with FIPS mode7384 returns 404 for non-existing SSH md5 fingerprint7385 returns 404 for existing SSH md5 fingerprint7386 when searching a DeployKey7387 returns user and projects if SSH sha256 fingerprint for DeployKey found7388Projects::BoardsController7389 GET index7390 creates a new project board when project does not have one7391 renders template7392 when there are recently visited boards7393 redirects to latest visited board7394 with unauthorized user7395 returns a not found 404 response7396 when user is signed out7397 renders template7398 issues are disabled7399 returns a not found 404 response7400 behaves like unauthorized when external service denies access7401 allows access when the authorization service allows it7402 allows access when the authorization service denies it7403 GET show7404 when format is HTML7405 renders template7406 with unauthorized user7407 returns a not found 404 response7408 when user is signed out7409 does not save visit7410 when board does not belong to project7411 returns a not found 404 response7412API::ImportBitbucketServer7413 POST /import/bitbucket_server7414 with no optional parameters7415 rejects requests when Bitbucket Server Importer is disabled7416 returns 201 response when the project is imported successfully7417 with a new project name7418 returns 201 response when the project is imported successfully with a new project name7419 with an invalid URL7420 returns 400 response due to a blocked URL7421 with a new namespace7422 returns 201 response when the project is imported successfully to a new namespace7423 with a private inaccessible namespace7424 returns 401 response when user can not create projects in the chosen namespace7425 with an inaccessible bitbucket server instance7426 raises a connection error7427RedisTracking7428 when user is logged in7429 tracks the event7430 tracks the event if DNT is not enabled7431 does not track the event if DNT is enabled7432 does not track the event if the format is not HTML7433 does not track the event if a custom condition returns false7434 does not track the event for untracked actions7435 when user is not logged in7436 tracks the event when there is a visitor id7437 when user is not logged in and there is no visitor_id7438 does not track the event7439 tracks the event when there is custom id7440 does not track the event when there is no custom id7441Admin::RunnersController7442 #index7443 renders index template7444 #show7445 shows a runner show page7446 #edit7447 shows a runner edit page7448 shows 404 for unknown runner7449 avoids N+1 queries7450 #update7451 with update succeeding7452 updates the runner and ticks the queue7453 with update failing7454 does not update runner or tick the queue7455 #destroy7456 destroys the runner7457 #resume7458 marks the runner as active and ticks the queue7459 #pause7460 marks the runner as inactive and ticks the queue7461 GET #runner_setup_scripts7462 renders the setup scripts7463 renders errors if they occur7464rendering namespace statistics7465 behaves like a working namespace with storage statistics query7466 includes the packages size if the user can read the statistics7467 includes uploads size if the user can read the statistics7468 behaves like a working graphql query7469 returns a successful response7470 when the namespace is a group7471 behaves like a working namespace with storage statistics query7472 includes the packages size if the user can read the statistics7473 includes uploads size if the user can read the statistics7474 behaves like a working graphql query7475 returns a successful response7476 when the namespace is public7477 hides statistics for unauthenticated requests7478Groups::Harbor::TagsController7479 behaves like a harbor tags controller7480 GET #index.json7481 with harbor registry feature flag enabled7482 behaves like responds with 200 status with json7483 renders the index template7484 with harbor registry feature flag disabled7485 behaves like responds with 404 status7486 returns 4047487 with anonymous user7488 behaves like responds with 404 status7489 returns 4047490 with unauthorized user7491 behaves like responds with 404 status7492 returns 4047493 with valid params7494 with valid repository7495 behaves like responds with 200 status with json7496 renders the index template7497 with valid page7498 behaves like responds with 200 status with json7499 renders the index template7500 with valid limit7501 behaves like responds with 200 status with json7502 renders the index template7503 with invalid params7504 with invalid page7505 behaves like responds with 422 status with json7506 returns 4227507 with invalid limit7508 behaves like responds with 422 status with json7509 returns 4227510API::ImportGithub7511 POST /import/github7512 rejects requests when Github Importer is disabled7513 returns 201 response when the project is imported successfully7514 returns 201 response when the project is imported successfully from GHE7515 returns 422 response when user can not create projects in the chosen namespace7516 when unauthenticated user7517 returns 403 response7518 POST /import/github/cancel7519 when project import was canceled7520 returns success7521 when project import was not canceled7522 returns error7523 when unauthenticated user7524 returns 403 response7525API::Ci::Runner7526 /api/v4/runners7527 POST /api/v4/runners7528 when no token is provided7529 returns 400 error7530 when invalid token is provided7531 returns 403 error7532 when valid parameters are provided7533 when token_expires_at is nil7534 creates runner7535 when token_expires_at is a valid date7536 creates runner7537 behaves like storing arguments in the application context for the API7538 places the expected params in the application context7539 behaves like not executing any extra queries for the application context7540 does not execute more queries than without adding anything to the application context7541 when deprecated maintainer_note field is provided7542 converts to maintenance_note param7543 when deprecated active parameter is provided7544 uses active value in registration7545 calling actual register service7546 sets the runner's ip_address7547 when info parameter 'name' info is present7548 updates provided Runner's parameter7549 when info parameter 'version' info is present7550 updates provided Runner's parameter7551 when info parameter 'revision' info is present7552 updates provided Runner's parameter7553 when info parameter 'platform' info is present7554 updates provided Runner's parameter7555 when info parameter 'architecture' info is present7556 updates provided Runner's parameter7557 when tags parameter is provided7558 with number of tags above limit7559 uses tag_list value in registration and returns error7560 with number of tags below limit7561 uses tag_list value in registration and successfully creates runner7562Dashboard::GroupsController7563 renders group trees7564 #index7565 only includes projects the user is a member of7566 works when the external authorization service is enabled7567 when rendering an expanded hierarchy with public groups you are not a member of7568 renders only groups the user is a member of when searching hierarchy correctly7569API::Internal::ErrorTracking7570 GET /internal/error_tracking/allowed7571 when the secret header is missing7572 responds with unauthorized entity7573 when some params are missing7574 responds with unprocessable entity7575 when public_key is unknown7576 returns enabled: false7577 when unknown project_id is unknown7578 responds with 404 not found7579 when the error tracking is disabled7580 returns enabled: false7581 when the error tracking is enabled7582 returns enabled: true7583 when feature flags use_click_house_database_for_error_tracking or gitlab_error_tracking are disabled7584 returns enabled: false7585API::ProjectStatistics7586 GET /projects/:id/statistics7587 returns the fetch statistics of the last 30 days7588 excludes the fetch statistics older than 30 days7589 responds with 403 when the user is not a reporter of the repository7590Mark snippet as spam7591 behaves like when the snippet is not found7592 behaves like a mutation that returns top-level errors7593 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"7594 when the user does not have permission7595 behaves like a mutation that returns top-level errors7596 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"7597 behaves like does not mark the snippet as spam7598 is expected not to change `snippet.reload.user_agent_detail.submitted`7599 when the user has permission7600 when user can not mark snippet as spam7601 behaves like does not mark the snippet as spam7602 is expected not to change `snippet.reload.user_agent_detail.submitted`7603 when user can mark snippet as spam7604 marks snippet as spam7605Import::GitlabProjectsController7606 POST create7607 with a valid path7608 schedules an import and redirects to the new project path7609 with an invalid path7610 redirects with an error when path is `/test`7611 redirects with an error when path is `../test`7612 when request exceeds the rate limit7613 prevents users from importing projects7614 POST authorize7615 behaves like handle uploads authorize request7616 POST authorize7617 authorizes workhorse header7618 rejects requests that bypassed gitlab-workhorse7619 when using remote storage7620 when direct upload is enabled7621 responds with status 200, location of file remote store and object details7622 when direct upload is disabled7623 handles as a local file7624CiJobTokenScopeRemoveProject7625 when unauthorized7626 when not a maintainer7627 has graphql errors7628 when authorized7629 removes the target project from the job token scope7630 when invalid target project is provided7631 has mutation errors7632AbuseReportMailer7633 .notify7634 behaves like appearance header and footer enabled7635 contains header and footer7636 behaves like appearance header and footer not enabled7637 does not contain header and footer7638 with abuse_notification_email set7639 sends to the abuse_notification_email7640 includes the user in the subject7641 with no abuse_notification_email set7642 returns early7643Projects::Analytics::CycleAnalytics::ValueStreamsController7644 GET index7645 when user is member of the project7646 succeeds7647 exposes the default value stream7648 when user is not member of the project7649 renders 4047650Resetting a token on an existing Prometheus Integration7651 creates a token7652 with an existing alerting setting7653 updates the token7654Admin::ApplicationsController7655 sets `oauth_applications_created` session key to `true`7656 GET #show7657 renders template7658 when application is viewed after being created7659 sets `@created` instance variable to `true`7660 when application is reviewed7661 sets `@created` instance variable to `false`7662Project callouts7663 POST /-/users/project_callouts7664 with valid feature name and project7665 when callout entry does not exist7666 creates a callout entry with dismissed state7667 returns success7668 when callout entry already exists7669 returns success7670 with invalid feature name7671 returns bad request7672getting merge access levels for a branch protection7673 # order random7674 when request AccessLevel type objects as a maintainer7675 returns all the access level attributes7676 behaves like a working graphql query7677 returns a successful response7678 when request AccessLevel type objects as a guest user7679 is expected not to be present7680 behaves like a working graphql query7681 returns a successful response7682Removing an incident timeline event7683 removes incident timeline event7684Explore::GroupsController7685 renders group trees7686 includes public projects7687 restricted visibility level is public7688 redirects to login page7689JobCancel7690 returns an error if the user is not allowed to cancel the job7691 cancels a job7692Removing an HTTP Integration7693 removes the integration7694Deletes a release asset link7695 deletes the release asset link and returns the deleted link7696Oauth::AuthorizedApplicationsController7697 includes Two-factor enforcement concern7698 GET #index7699 responds with 4047700 DELETE #destroy7701 revokes both access grants and tokens7702GroupMember7703 behaves like a working graphql query7704 returns a successful response7705 behaves like a working membership object query7706 contains edge to expected project7707 contains correct access level7708Groups::DeployTokensController7709 PUT /groups/:group_path_with_namespace/-/deploy_tokens/:id/revoke7710 invokes the Groups::DeployTokens::RevokeService7711 redirects to group repository settings with correct anchor7712Profiles::ActiveSessionsController7713 DELETE destroy7714 invalidates all remember user tokens7715ImportUrlParams7716 empty URL7717 returns empty hash7718 url and password separately provided7719 #import_url_params7720 returns hash with import_url7721 url with provided empty credentials7722 #import_url_params7723 does not change the url7724 url with provided mixed credentials7725 #import_url_params7726 returns import_url built from both url and hash credentials7727EmailRejectionMailer7728 #rejection7729 behaves like appearance header and footer enabled7730 contains header and footer7731 behaves like appearance header and footer not enabled7732 does not contain header and footer7733IssuableActions7734 #discussions7735 instantiates and calls NotesFinder as expected7736Knapsack report was generated. Preview:7737{7738 "spec/requests/api/nuget_group_packages_spec.rb": 302.51303689999986,7739 "spec/requests/api/conan_project_packages_spec.rb": 243.87007874199844,7740 "spec/controllers/projects/merge_requests_controller_spec.rb": 165.33375225700001,7741 "spec/controllers/projects/clusters_controller_spec.rb": 122.69761157400171,7742 "spec/requests/api/project_snippets_spec.rb": 98.90140573700046,7743 "spec/requests/api/project_debian_distributions_spec.rb": 36.33053605199893,7744 "spec/requests/api/ci/jobs_spec.rb": 60.95025880300091,7745 "spec/requests/api/award_emoji_spec.rb": 38.32027931000084,7746 "spec/controllers/groups_controller_spec.rb": 45.19388896199962,7747 "spec/requests/api/project_clusters_spec.rb": 47.20182269799989,7748 "spec/requests/api/graphql/mutations/snippets/update_spec.rb": 41.225864224999896,7749 "spec/requests/openid_connect_spec.rb": 35.77957390799929,7750 "spec/requests/api/ci/pipeline_schedules_spec.rb": 28.75225501100067,7751 "spec/commands/metrics_server/metrics_server_spec.rb": 47.38518934700005,7752 "spec/requests/api/graphql/group/packages_spec.rb": 22.571589879000385,7753 "spec/requests/api/todos_spec.rb": 21.31526348599982,7754 "spec/requests/self_monitoring_project_spec.rb": 10.501985873999729,7755 "spec/requests/projects/settings/access_tokens_controller_spec.rb": 19.148328236000452,7756 "spec/controllers/import/gitlab_controller_spec.rb": 18.611896120000893,7757 "spec/requests/jira_routing_spec.rb": 19.1597640960008,7758 "spec/requests/api/internal/kubernetes_spec.rb": 14.572752179999952,7759 "spec/requests/api/resource_label_events_spec.rb": 15.738633971999661,7760 "spec/requests/api/error_tracking/project_settings_spec.rb": 15.884245417000784,7761 "spec/requests/api/graphql/group/issues_spec.rb": 15.16534343100102,7762 "spec/controllers/projects/cycle_analytics_controller_spec.rb": 10.83918440799971,7763 "spec/requests/api/graphql/ci/runner_spec.rb": 12.026604519000102,7764 "spec/requests/api/topics_spec.rb": 5.584131032999721,7765 "spec/requests/api/graphql/mutations/design_management/delete_spec.rb": 10.874199015999693,7766 "spec/controllers/groups/settings/ci_cd_controller_spec.rb": 5.581078033001177,7767 "spec/requests/api/project_repository_storage_moves_spec.rb": 6.7175168080011645,7768 "spec/requests/api/graphql/mutations/work_items/update_task_spec.rb": 5.644111556001008,7769 "spec/controllers/admin/sessions_controller_spec.rb": 6.589948536999145,7770 "spec/requests/api/graphql/packages/composer_spec.rb": 7.753041464999114,7771 "spec/requests/api/graphql/mutations/container_repository/destroy_spec.rb": 7.375902010999198,7772 "spec/requests/api/graphql/read_only_spec.rb": 4.745582507999643,7773 "spec/controllers/profiles_controller_spec.rb": 6.220616497999799,7774 "spec/requests/api/merge_request_approvals_spec.rb": 7.279242071999761,7775 "spec/requests/api/graphql/current_user/todos_query_spec.rb": 5.412580349999189,7776 "spec/requests/api/keys_spec.rb": 4.674062856000091,7777 "spec/controllers/projects/boards_controller_spec.rb": 5.049565856999834,7778 "spec/requests/api/import_bitbucket_server_spec.rb": 4.755591966999418,7779 "spec/controllers/concerns/redis_tracking_spec.rb": 4.596465013000852,7780 "spec/controllers/admin/runners_controller_spec.rb": 4.715196041001036,7781 "spec/requests/api/graphql/namespace/root_storage_statistics_spec.rb": 4.3104369520006,7782 "spec/requests/groups/harbor/tags_controller_spec.rb": 4.109422163001,7783 "spec/requests/api/import_github_spec.rb": 3.706266663999486,7784 "spec/requests/api/ci/runner/runners_post_spec.rb": 1.7953462669993314,7785 "spec/controllers/dashboard/groups_controller_spec.rb": 2.939506402000916,7786 "spec/requests/api/internal/error_tracking_spec.rb": 3.0846863069982646,7787 "spec/requests/api/project_statistics_spec.rb": 2.342267861999062,7788 "spec/requests/api/graphql/mutations/snippets/mark_as_spam_spec.rb": 2.220982033999462,7789 "spec/requests/import/gitlab_projects_controller_spec.rb": 1.932798563999313,7790 "spec/requests/api/graphql/mutations/ci/job_token_scope/remove_project_spec.rb": 2.315600895000898,7791 "spec/mailers/abuse_report_mailer_spec.rb": 2.062629251000544,7792 "spec/controllers/projects/analytics/cycle_analytics/value_streams_controller_spec.rb": 1.4996051580001222,7793 "spec/requests/api/graphql/mutations/alert_management/prometheus_integration/reset_token_spec.rb": 1.5382383929991192,7794 "spec/requests/admin/applications_controller_spec.rb": 1.9433812030001718,7795 "spec/requests/users/project_callouts_spec.rb": 1.4921042790010688,7796 "spec/requests/api/graphql/project/branch_protections/merge_access_levels_spec.rb": 2.202688997000223,7797 "spec/requests/api/graphql/mutations/incident_management/timeline_event/destroy_spec.rb": 2.437802792999719,7798 "spec/controllers/explore/groups_controller_spec.rb": 1.2436404439995385,7799 "spec/requests/api/graphql/mutations/ci/job_cancel_spec.rb": 2.0370832630014775,7800 "spec/requests/api/graphql/mutations/alert_management/http_integration/destroy_spec.rb": 1.0345222750001994,7801 "spec/requests/api/graphql/mutations/release_asset_links/delete_spec.rb": 1.6521865929989872,7802 "spec/controllers/oauth/authorized_applications_controller_spec.rb": 0.9676602409999759,7803 "spec/requests/api/graphql/user/group_member_query_spec.rb": 1.1848535900007846,7804 "spec/requests/groups/deploy_tokens_controller_spec.rb": 1.495558317999894,7805 "spec/controllers/profiles/active_sessions_controller_spec.rb": 0.5915566699986812,7806 "spec/controllers/concerns/import_url_params_spec.rb": 0.7158191569997143,7807 "spec/mailers/email_rejection_mailer_spec.rb": 0.5753127320003841,7808 "spec/controllers/concerns/issuable_actions_spec.rb": 0.37424238199855617809}7810Knapsack global time execution for tests: 27m 47s7811Pending: (Failures listed here are expected and do not affect your suite's status)7812 1) API::Ci::Jobs POST /projects/:id/jobs/:job_id/retry authorized user user with :update_build permission retries non-running job7813 # around hook at ./spec/support/flaky_tests.rb:21 did not execute the example7814 # ./spec/requests/api/ci/jobs_spec.rb:6777815Finished in 27 minutes 52 seconds (files took 46.68 seconds to load)78162595 examples, 0 failures, 1 pending7817Randomized with seed 464507818[TEST PROF INFO] Time spent in factories: 13:01.431 (46.58% of total time)7819RSpec exited with 0.7820No examples to retry, congrats!7822Not uploading cache ruby-gems-debian-bullseye-ruby-2.7-16 due to policy7823Not uploading cache gitaly-ruby-gems-debian-bullseye-ruby-2.7-16 due to policy7825Uploading artifacts...7826coverage/: found 5 matching files and directories 7827crystalball/: found 2 matching files and directories 7828WARNING: deprecations/: no matching files. Ensure that the artifact path is relative to the working directory 7829knapsack/: found 3 matching files and directories 7830rspec/: found 10 matching files and directories 7831WARNING: tmp/capybara/: no matching files. Ensure that the artifact path is relative to the working directory 7832log/*.log: found 20 matching files and directories 7833WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/3275962913/artifacts?artifact_format=zip&artifact_type=archive&expire_in=31d new-url=https://gitlab.com7834WARNING: Retrying... context=artifacts-uploader error=request redirected7835Uploading artifacts as "archive" to coordinator... 201 Created id=3275962913 responseStatus=201 Created token=AfkvtAAz7836Uploading artifacts...7837rspec/junit_rspec.xml: found 1 matching files and directories 7838WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/3275962913/artifacts?artifact_format=gzip&artifact_type=junit&expire_in=31d new-url=https://gitlab.com7839WARNING: Retrying... context=artifacts-uploader error=request redirected7840Uploading artifacts as "junit" to coordinator... 201 Created id=3275962913 responseStatus=201 Created token=AfkvtAAz7842Job succeeded