rspec integration pg14 5/12
Passed Started
by
@himkp

Himanshu Kapoor
1Running with gitlab-runner 16.1.0~beta.59.g83c66823 (83c66823)2 on green-6.private.runners-manager.gitlab.com/gitlab.com/gitlab-org vHriyjxu, system ID: s_44fde8db605e3 feature flags: FF_NETWORK_PER_BUILD:true, FF_USE_FASTZIP:true, FF_USE_IMPROVED_URL_MASKING:true6Using Docker executor with image registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0.patched-golang-1.19-rust-1.65-node-18.16-postgresql-14:rubygems-3.4-git-2.36-lfs-2.9-chrome-113-yarn-1.22-graphicsmagick-1.3.36 ...7Starting service registry.gitlab.com/gitlab-org/gitlab-build-images:postgres-14-pgvector-0.4.1 ...8Authenticating with credentials from job payload (GitLab Registry)9Pulling docker image registry.gitlab.com/gitlab-org/gitlab-build-images:postgres-14-pgvector-0.4.1 ...10Using docker image sha256:2e09e9db92541ed81b1c00f1d5186f8c262d8b84e8d1755676ea4b25614f30c4 for registry.gitlab.com/gitlab-org/gitlab-build-images:postgres-14-pgvector-0.4.1 with digest registry.gitlab.com/gitlab-org/gitlab-build-images@sha256:afc7bd7a60824044709543a6a700385e412d750d9ab4fc72b427e335e1d0f3ec ...11WARNING: Service registry.gitlab.com/gitlab-org/gitlab-build-images:redis-cluster-6.2.12 is already created. Ignoring.12WARNING: Service registry.gitlab.com/gitlab-org/gitlab-build-images:redis-cluster-6.2.12 is already created. Ignoring.13Starting service registry.gitlab.com/gitlab-org/gitlab-build-images:redis-cluster-6.2.12 ...14Authenticating with credentials from job payload (GitLab Registry)15Pulling docker image registry.gitlab.com/gitlab-org/gitlab-build-images:redis-cluster-6.2.12 ...16Using docker image sha256:a9a90ece30d9630d694ab1997cd103ea8ec729789451b983a75c7b58b0062d45 for registry.gitlab.com/gitlab-org/gitlab-build-images:redis-cluster-6.2.12 with digest registry.gitlab.com/gitlab-org/gitlab-build-images@sha256:7ef36177d5d0bc554fbb63d8210ae751bcc538bea7905b51d078d9ab90a755fa ...17Starting service redis:6.2-alpine ...18Pulling docker image redis:6.2-alpine ...19Using docker image sha256:85fd7bd884b6493c8eb6f4dffbe5406d97cce56aff84f1580a5eb5b9d841f158 for redis:6.2-alpine with digest redis@sha256:87c44d5d9f472e767c8737f4130c765d77bdc95c7472d6427cfc9d4632f12da6 ...20Waiting for services to be up and running (timeout 30 seconds)...21Authenticating with credentials from job payload (GitLab Registry)22Pulling docker image registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0.patched-golang-1.19-rust-1.65-node-18.16-postgresql-14:rubygems-3.4-git-2.36-lfs-2.9-chrome-113-yarn-1.22-graphicsmagick-1.3.36 ...23Using docker image sha256:29b87d4e8d17fad91e09f1f9dc70458f075b8cefe102c904d6043b52d87d157a for registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0.patched-golang-1.19-rust-1.65-node-18.16-postgresql-14:rubygems-3.4-git-2.36-lfs-2.9-chrome-113-yarn-1.22-graphicsmagick-1.3.36 with digest registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0.patched-golang-1.19-rust-1.65-node-18.16-postgresql-14@sha256:8e1b76424e73a366225f410eabe5c92d13aaff628e0f8517cbd9416c0e2a2ac1 ...25Running on runner-vhriyjxu-project-278964-concurrent-0 via runner-vhriyjxu-private-1686252819-0405f64a...27Fetching changes with git depth set to 20...28Initialized empty Git repository in /builds/gitlab-org/gitlab/.git/29Created fresh repository.30remote: Enumerating objects: 132962, done. 31remote: Counting objects: 100% (132962/132962), done. 32remote: Compressing objects: 100% (88261/88261), done. 33remote: Total 132962 (delta 55395), reused 90861 (delta 39684), pack-reused 0 34Receiving objects: 100% (132962/132962), 116.60 MiB | 29.07 MiB/s, done.35Resolving deltas: 100% (55395/55395), done.37 * [new ref] refs/pipelines/894275018 -> refs/pipelines/89427501838Checking out 3853282a as detached HEAD (ref is refs/merge-requests/122037/merge)...39Skipping Git submodules setup40$ git remote set-url origin "${CI_REPOSITORY_URL}"42Checking cache for ruby-gems-debian-bullseye-ruby-3.0-16...43cache.zip is up to date 44Successfully extracted cache46Downloading artifacts for compile-test-assets (4440957385)...47Downloading artifacts from coordinator... ok host=storage.googleapis.com id=4440957385 responseStatus=200 OK token=64_JE86N48Downloading artifacts for detect-tests (4440957401)...49Downloading artifacts from coordinator... ok host=storage.googleapis.com id=4440957401 responseStatus=200 OK token=64_JE86N50Downloading artifacts for retrieve-tests-metadata (4440957412)...51Downloading artifacts from coordinator... ok host=storage.googleapis.com id=4440957412 responseStatus=200 OK token=64_JE86N52Downloading artifacts for setup-test-env (4440957391)...53Downloading artifacts from coordinator... ok host=storage.googleapis.com id=4440957391 responseStatus=200 OK token=64_JE86N55Using docker image sha256:29b87d4e8d17fad91e09f1f9dc70458f075b8cefe102c904d6043b52d87d157a for registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0.patched-golang-1.19-rust-1.65-node-18.16-postgresql-14:rubygems-3.4-git-2.36-lfs-2.9-chrome-113-yarn-1.22-graphicsmagick-1.3.36 with digest registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0.patched-golang-1.19-rust-1.65-node-18.16-postgresql-14@sha256:8e1b76424e73a366225f410eabe5c92d13aaff628e0f8517cbd9416c0e2a2ac1 ...56$ echo $FOSS_ONLY57$ [ "$FOSS_ONLY" = "1" ] && rm -rf ee/ qa/spec/ee/ qa/qa/specs/features/ee/ qa/qa/ee/ qa/qa/ee.rb58$ export GOPATH=$CI_PROJECT_DIR/.go59$ mkdir -p $GOPATH60$ source scripts/utils.sh61$ source scripts/prepare_build.sh719Using decomposed database config (config/database.yml.decomposed-postgresql)720Geo DB won't be set up.721Embedding DB won't be set up.737$ source ./scripts/rspec_helpers.sh738$ run_timed_command "gem install knapsack --no-document"739$ gem install knapsack --no-document740Successfully installed knapsack-4.0.07411 gem installed742==> 'gem install knapsack --no-document' succeeded in 1 seconds.743$ echo -e "\e[0Ksection_start:`date +%s`:gitaly-test-spawn[collapsed=true]\r\e[0KStarting Gitaly"745$ section_start "gitaly-test-spawn" "Spawning Gitaly"; scripts/gitaly-test-spawn; section_end "gitaly-test-spawn"750$ echo -e "\e[0Ksection_end:`date +%s`:gitaly-test-spawn\r\e[0K"751$ rspec_paralellized_job "--tag ~quarantine --tag ~level:background_migration"752SKIP_FLAKY_TESTS_AUTOMATICALLY: 753RETRY_FAILED_TESTS_IN_NEW_PROCESS: true754KNAPSACK_GENERATE_REPORT: true755FLAKY_RSPEC_GENERATE_REPORT: true756KNAPSACK_TEST_FILE_PATTERN: spec/{commands,controllers,mailers,requests}{,/**/}*_spec.rb757KNAPSACK_LOG_LEVEL: debug758KNAPSACK_REPORT_PATH: knapsack/rspec_integration_pg14_5_12_report.json759FLAKY_RSPEC_SUITE_REPORT_PATH: rspec/flaky/report-suite.json760FLAKY_RSPEC_REPORT_PATH: rspec/flaky/all_rspec_integration_pg14_5_12_report.json761NEW_FLAKY_RSPEC_REPORT_PATH: rspec/flaky/new_rspec_integration_pg14_5_12_report.json762SKIPPED_TESTS_REPORT_PATH: rspec/skipped_tests_rspec_integration_pg14_5_12.txt763CRYSTALBALL: 764RSPEC_TESTS_MAPPING_ENABLED: 765RSPEC_TESTS_FILTER_FILE: 766Knapsack report generator started!767warning: parser/current is loading parser/ruby30, which recognizes 3.0.5-compliant syntax, but you are running 3.0.6.769Run options: exclude {:quarantine=>true, :level=>"background_migration"}770Test environment set up in 0.748835022 seconds771Notify772 with HTML-encoded entities773 retains 7bit encoding774 for a project775 for issues776 that are new777 has the correct subject and body778 contains the description779 does not add a reason header780 contains a link to issue author781 contains a link to the issue782 behaves like an assignee email783 is sent to the assignee as the author784 behaves like an email sent to a user785 is sent to user's global notification email address786 with group notification email787 is sent to user's group notification email788 behaves like an email starting a new thread with reply-by-email enabled789 has X-GitLab-Project headers790 has X-GitLab-*-ID header791 has X-GitLab-*-IID header if model has iid defined792 has the characteristics of a threaded email793 includes "Reply to this email directly or <View it on GitLab>"794 when reply-by-email is enabled with incoming address with %{key}795 has a Reply-To header796 when reply-by-email is enabled with incoming address without %{key}797 has the characteristics of a threaded email798 has a Reply-To header799 behaves like it should show Gmail Actions View Issue link800 is expected to have body including "View Issue"801 behaves like it should have Gmail Actions links802 is expected to have body including "ViewAction"803 behaves like an unsubscribeable thread804 has a List-Unsubscribe header in the correct format, and a body link805 behaves like an unsubscribeable thread with incoming address without %{key}806 has a List-Unsubscribe header in the correct format, and a body link807 behaves like appearance header and footer enabled808 contains header and footer809 behaves like appearance header and footer not enabled810 does not contain header and footer811 when sent with a reason812 includes the reason in a header813 behaves like appearance header and footer enabled814 contains header and footer815 behaves like appearance header and footer not enabled816 does not contain header and footer817 that are reassigned818 is sent as the author819 has the correct subject and body820 behaves like a multiple recipients email821 is sent to the given recipient822 behaves like an answer to an existing thread with reply-by-email enabled823 has X-GitLab-Project headers824 has X-GitLab-*-ID header825 has X-GitLab-*-IID header if model has iid defined826 has X-GitLab-Project headers827 has X-GitLab-*-ID header828 has X-GitLab-*-IID header if model has iid defined829 has the characteristics of a threaded reply830 when reply-by-email is enabled with incoming address with %{key}831 has a Reply-To header832 when reply-by-email is enabled with incoming address without %{key}833 has X-GitLab-Project headers834 has X-GitLab-*-ID header835 has X-GitLab-*-IID header if model has iid defined836 has the characteristics of a threaded reply837 has a Reply-To header838 behaves like it should show Gmail Actions View Issue link839 is expected to have body including "View Issue"840 behaves like it should have Gmail Actions links841 is expected to have body including "ViewAction"842 behaves like an unsubscribeable thread843 has a List-Unsubscribe header in the correct format, and a body link844 behaves like an unsubscribeable thread with incoming address without %{key}845 has a List-Unsubscribe header in the correct format, and a body link846 behaves like appearance header and footer enabled847 contains header and footer848 behaves like appearance header and footer not enabled849 does not contain header and footer850 behaves like email with default notification reason851 is expected to have plain text content "You're receiving this email because of your account"852 behaves like email with link to issue853 is expected to have plain text content "view it on GitLab: http://localhost/group1/project-1/-/issues/1"854 without new assignee855 uses "Unassigned" placeholder856 behaves like email with default notification reason857 is expected to have plain text content "You're receiving this email because of your account"858 behaves like email with link to issue859 is expected to have plain text content "view it on GitLab: http://localhost/group1/project-1/-/issues/1"860 without previous assignees861 uses short text862 behaves like email with default notification reason863 is expected to have plain text content "You're receiving this email because of your account"864 behaves like email with link to issue865 is expected to have plain text content "view it on GitLab: http://localhost/group1/project-1/-/issues/1"866 when sent with a reason867 includes the reason in a header868 behaves like appearance header and footer enabled869 contains header and footer870 behaves like appearance header and footer not enabled871 does not contain header and footer872 when sent with a non default locale873 is translated into zh_CN874 that have been relabeled875 is sent as the author876 has the correct subject and body877 behaves like a multiple recipients email878 is sent to the given recipient879 behaves like an answer to an existing thread with reply-by-email enabled880 has X-GitLab-Project headers881 has X-GitLab-*-ID header882 has X-GitLab-*-IID header if model has iid defined883 has X-GitLab-Project headers884 has X-GitLab-*-ID header885 has X-GitLab-*-IID header if model has iid defined886 has the characteristics of a threaded reply887 when reply-by-email is enabled with incoming address with %{key}888 has a Reply-To header889 when reply-by-email is enabled with incoming address without %{key}890 has X-GitLab-Project headers891 has X-GitLab-*-ID header892 has X-GitLab-*-IID header if model has iid defined893 has the characteristics of a threaded reply894 has a Reply-To header895 behaves like it should show Gmail Actions View Issue link896 is expected to have body including "View Issue"897 behaves like it should have Gmail Actions links898 is expected to have body including "ViewAction"899 behaves like a user cannot unsubscribe through footer link900 does not have a List-Unsubscribe header or a body link901 behaves like an email with a labels subscriptions link in its footer902 is expected to have body including "label subscriptions"903 behaves like appearance header and footer enabled904 contains header and footer905 behaves like appearance header and footer not enabled906 does not contain header and footer907 with a preferred language908 always generates the email using the default language909 that are due soon910 contains a link to the issue911 behaves like an answer to an existing thread with reply-by-email enabled912 has X-GitLab-Project headers913 has X-GitLab-*-ID header914 has X-GitLab-*-IID header if model has iid defined915 has X-GitLab-Project headers916 has X-GitLab-*-ID header917 has X-GitLab-*-IID header if model has iid defined918 has the characteristics of a threaded reply919 when reply-by-email is enabled with incoming address with %{key}920 has a Reply-To header921 when reply-by-email is enabled with incoming address without %{key}922 has X-GitLab-Project headers923 has X-GitLab-*-ID header924 has X-GitLab-*-IID header if model has iid defined925 has the characteristics of a threaded reply926 has a Reply-To header927 behaves like it should show Gmail Actions View Issue link928 is expected to have body including "View Issue"929 behaves like it should have Gmail Actions links930 is expected to have body including "ViewAction"931 behaves like an unsubscribeable thread932 has a List-Unsubscribe header in the correct format, and a body link933 behaves like an unsubscribeable thread with incoming address without %{key}934 has a List-Unsubscribe header in the correct format, and a body link935 behaves like appearance header and footer enabled936 contains header and footer937 behaves like appearance header and footer not enabled938 does not contain header and footer939 status changed940 is sent as the author941 has the correct subject and body942 behaves like an answer to an existing thread with reply-by-email enabled943 has X-GitLab-Project headers944 has X-GitLab-*-ID header945 has X-GitLab-*-IID header if model has iid defined946 has X-GitLab-Project headers947 has X-GitLab-*-ID header948 has X-GitLab-*-IID header if model has iid defined949 has the characteristics of a threaded reply950 when reply-by-email is enabled with incoming address with %{key}951 has a Reply-To header952 when reply-by-email is enabled with incoming address without %{key}953 has X-GitLab-Project headers954 has X-GitLab-*-ID header955 has X-GitLab-*-IID header if model has iid defined956 has the characteristics of a threaded reply957 has a Reply-To header958 behaves like it should show Gmail Actions View Issue link959 is expected to have body including "View Issue"960 behaves like it should have Gmail Actions links961 is expected to have body including "ViewAction"962 behaves like an unsubscribeable thread963 has a List-Unsubscribe header in the correct format, and a body link964 behaves like an unsubscribeable thread with incoming address without %{key}965 has a List-Unsubscribe header in the correct format, and a body link966 behaves like appearance header and footer enabled967 contains header and footer968 behaves like appearance header and footer not enabled969 does not contain header and footer970 closed971 is sent as the author972 has the correct subject and body973 behaves like an answer to an existing thread with reply-by-email enabled974 has X-GitLab-Project headers975 has X-GitLab-*-ID header976 has X-GitLab-*-IID header if model has iid defined977 has X-GitLab-Project headers978 has X-GitLab-*-ID header979 has X-GitLab-*-IID header if model has iid defined980 has the characteristics of a threaded reply981 when reply-by-email is enabled with incoming address with %{key}982 has a Reply-To header983 when reply-by-email is enabled with incoming address without %{key}984 has X-GitLab-Project headers985 has X-GitLab-*-ID header986 has X-GitLab-*-IID header if model has iid defined987 has the characteristics of a threaded reply988 has a Reply-To header989 behaves like it should show Gmail Actions View Issue link990 is expected to have body including "View Issue"991 behaves like it should have Gmail Actions links992 is expected to have body including "ViewAction"993 behaves like an unsubscribeable thread994 has a List-Unsubscribe header in the correct format, and a body link995 behaves like an unsubscribeable thread with incoming address without %{key}996 has a List-Unsubscribe header in the correct format, and a body link997 behaves like appearance header and footer enabled998 contains header and footer999 behaves like appearance header and footer not enabled1000 does not contain header and footer1001 behaves like email with default notification reason1002 is expected to have plain text content "You're receiving this email because of your account"1003 behaves like email with link to issue1004 is expected to have plain text content "view it on GitLab: http://localhost/group1/project-1/-/issues/1"1005 via commit1006 has the correct subject and body1007 behaves like email with default notification reason1008 is expected to have plain text content "You're receiving this email because of your account"1009 behaves like email with link to issue1010 is expected to have plain text content "view it on GitLab: http://localhost/group1/project-1/-/issues/1"1011 via merge request1012 has the correct subject and body1013 behaves like email with default notification reason1014 is expected to have plain text content "You're receiving this email because of your account"1015 behaves like email with link to issue1016 is expected to have plain text content "view it on GitLab: http://localhost/group1/project-1/-/issues/1"1017 moved to another project1018 when a user has permissions to access the new issue1019 contains description about action taken1020 has the correct subject and body1021 contains the issue title1022 behaves like an answer to an existing thread with reply-by-email enabled1023 has X-GitLab-Project headers1024 has X-GitLab-*-ID header1025 has X-GitLab-*-IID header if model has iid defined1026 has X-GitLab-Project headers1027 has X-GitLab-*-ID header1028 has X-GitLab-*-IID header if model has iid defined1029 has the characteristics of a threaded reply1030 when reply-by-email is enabled with incoming address with %{key}1031 has a Reply-To header1032 when reply-by-email is enabled with incoming address without %{key}1033 has X-GitLab-Project headers1034 has X-GitLab-*-ID header1035 has X-GitLab-*-IID header if model has iid defined1036 has the characteristics of a threaded reply1037 has a Reply-To header1038 behaves like it should show Gmail Actions View Issue link1039 is expected to have body including "View Issue"1040 behaves like it should have Gmail Actions links1041 is expected to have body including "ViewAction"1042 behaves like an unsubscribeable thread1043 has a List-Unsubscribe header in the correct format, and a body link1044 behaves like an unsubscribeable thread with incoming address without %{key}1045 has a List-Unsubscribe header in the correct format, and a body link1046 when a user does not permissions to access the new issue1047 has the correct subject and body1048 does not contain the issue title1049 contains information about missing permissions1050 for merge requests1051 that are new1052 has the correct subject and body1053 contains the description1054 contains a link to merge request author1055 contains a link to the merge request url1056 behaves like an assignee email1057 is sent to the assignee as the author1058 behaves like an email sent to a user1059 is sent to user's global notification email address1060 with group notification email1061 is sent to user's group notification email1062 behaves like an email starting a new thread with reply-by-email enabled1063 has X-GitLab-Project headers1064 has X-GitLab-*-ID header1065 has X-GitLab-*-IID header if model has iid defined1066 has the characteristics of a threaded email1067 includes "Reply to this email directly or <View it on GitLab>"1068 when reply-by-email is enabled with incoming address with %{key}1069 has a Reply-To header1070 when reply-by-email is enabled with incoming address without %{key}1071 has the characteristics of a threaded email1072 has a Reply-To header1073 behaves like it should show Gmail Actions View Merge request link1074 is expected to have body including "View Merge request"1075 behaves like it should have Gmail Actions links1076 is expected to have body including "ViewAction"1077 behaves like an unsubscribeable thread1078 has a List-Unsubscribe header in the correct format, and a body link1079 behaves like an unsubscribeable thread with incoming address without %{key}1080 has a List-Unsubscribe header in the correct format, and a body link1081 behaves like appearance header and footer enabled1082 contains header and footer1083 behaves like appearance header and footer not enabled1084 does not contain header and footer1085 when sent with a reason1086 includes the reason in a header1087 behaves like appearance header and footer enabled1088 contains header and footer1089 behaves like appearance header and footer not enabled1090 does not contain header and footer1091 that are reassigned1092 is sent as the author1093 has the correct subject and body1094 behaves like a multiple recipients email1095 is sent to the given recipient1096 behaves like an answer to an existing thread with reply-by-email enabled1097 has X-GitLab-Project headers1098 has X-GitLab-*-ID header1099 has X-GitLab-*-IID header if model has iid defined1100 has X-GitLab-Project headers1101 has X-GitLab-*-ID header1102 has X-GitLab-*-IID header if model has iid defined1103 has the characteristics of a threaded reply1104 when reply-by-email is enabled with incoming address with %{key}1105 has a Reply-To header1106 when reply-by-email is enabled with incoming address without %{key}1107 has X-GitLab-Project headers1108 has X-GitLab-*-ID header1109 has X-GitLab-*-IID header if model has iid defined1110 has the characteristics of a threaded reply1111 has a Reply-To header1112 behaves like it should show Gmail Actions View Merge request link1113 is expected to have body including "View Merge request"1114 behaves like it should have Gmail Actions links1115 is expected to have body including "ViewAction"1116 behaves like an unsubscribeable thread1117 has a List-Unsubscribe header in the correct format, and a body link1118 behaves like an unsubscribeable thread with incoming address without %{key}1119 has a List-Unsubscribe header in the correct format, and a body link1120 behaves like appearance header and footer enabled1121 contains header and footer1122 behaves like appearance header and footer not enabled1123 does not contain header and footer1124 when sent with a reason1125 includes the reason in a header1126 includes the reason in the footer1127 behaves like appearance header and footer enabled1128 contains header and footer1129 behaves like appearance header and footer not enabled1130 does not contain header and footer1131 that are new with a description1132 contains the description1133 behaves like it should show Gmail Actions View Merge request link1134 is expected to have body including "View Merge request"1135 behaves like it should have Gmail Actions links1136 is expected to have body including "ViewAction"1137 behaves like an unsubscribeable thread1138 has a List-Unsubscribe header in the correct format, and a body link1139 behaves like an unsubscribeable thread with incoming address without %{key}1140 has a List-Unsubscribe header in the correct format, and a body link1141 behaves like appearance header and footer enabled1142 contains header and footer1143 behaves like appearance header and footer not enabled1144 does not contain header and footer1145 that have been relabeled1146 is sent as the author1147 has the correct subject and body1148 behaves like a multiple recipients email1149 is sent to the given recipient1150 behaves like an answer to an existing thread with reply-by-email enabled1151 has X-GitLab-Project headers1152 has X-GitLab-*-ID header1153 has X-GitLab-*-IID header if model has iid defined1154 has X-GitLab-Project headers1155 has X-GitLab-*-ID header1156 has X-GitLab-*-IID header if model has iid defined1157 has the characteristics of a threaded reply1158 when reply-by-email is enabled with incoming address with %{key}1159 has a Reply-To header1160 when reply-by-email is enabled with incoming address without %{key}1161 has X-GitLab-Project headers1162 has X-GitLab-*-ID header1163 has X-GitLab-*-IID header if model has iid defined1164 has the characteristics of a threaded reply1165 has a Reply-To header1166 behaves like it should show Gmail Actions View Merge request link1167 is expected to have body including "View Merge request"1168 behaves like it should have Gmail Actions links1169 is expected to have body including "ViewAction"1170 behaves like a user cannot unsubscribe through footer link1171 does not have a List-Unsubscribe header or a body link1172 behaves like an email with a labels subscriptions link in its footer1173 is expected to have body including "label subscriptions"1174 behaves like appearance header and footer enabled1175 contains header and footer1176 behaves like appearance header and footer not enabled1177 does not contain header and footer1178 that have no new commits1179 behaves like a push to an existing merge request1180 is sent as the push user1181 has the correct subject and body1182 behaves like a multiple recipients email1183 is sent to the given recipient1184 behaves like an answer to an existing thread with reply-by-email enabled1185 has X-GitLab-Project headers1186 has X-GitLab-*-ID header1187 has X-GitLab-*-IID header if model has iid defined1188 has X-GitLab-Project headers1189 has X-GitLab-*-ID header1190 has X-GitLab-*-IID header if model has iid defined1191 has the characteristics of a threaded reply1192 when reply-by-email is enabled with incoming address with %{key}1193 has a Reply-To header1194 when reply-by-email is enabled with incoming address without %{key}1195 has X-GitLab-Project headers1196 has X-GitLab-*-ID header1197 has X-GitLab-*-IID header if model has iid defined1198 has the characteristics of a threaded reply1199 has a Reply-To header1200 behaves like it should show Gmail Actions View Merge request link1201 is expected to have body including "View Merge request"1202 behaves like it should have Gmail Actions links1203 is expected to have body including "ViewAction"1204 behaves like an unsubscribeable thread1205 has a List-Unsubscribe header in the correct format, and a body link1206 behaves like an unsubscribeable thread with incoming address without %{key}1207 has a List-Unsubscribe header in the correct format, and a body link1208 behaves like appearance header and footer enabled1209 contains header and footer1210 behaves like appearance header and footer not enabled1211 does not contain header and footer1212 that have fewer than the commit truncation limit1213 behaves like a push to an existing merge request1214 is sent as the push user1215 has the correct subject and body1216 behaves like a multiple recipients email1217 is sent to the given recipient1218 behaves like an answer to an existing thread with reply-by-email enabled1219 has X-GitLab-Project headers1220 has X-GitLab-*-ID header1221 has X-GitLab-*-IID header if model has iid defined1222 has X-GitLab-Project headers1223 has X-GitLab-*-ID header1224 has X-GitLab-*-IID header if model has iid defined1225 has the characteristics of a threaded reply1226 when reply-by-email is enabled with incoming address with %{key}1227 has a Reply-To header1228 when reply-by-email is enabled with incoming address without %{key}1229 has X-GitLab-Project headers1230 has X-GitLab-*-ID header1231 has X-GitLab-*-IID header if model has iid defined1232 has the characteristics of a threaded reply1233 has a Reply-To header1234 behaves like it should show Gmail Actions View Merge request link1235 is expected to have body including "View Merge request"1236 behaves like it should have Gmail Actions links1237 is expected to have body including "ViewAction"1238 behaves like an unsubscribeable thread1239 has a List-Unsubscribe header in the correct format, and a body link1240 behaves like an unsubscribeable thread with incoming address without %{key}1241 has a List-Unsubscribe header in the correct format, and a body link1242 behaves like appearance header and footer enabled1243 contains header and footer1244 behaves like appearance header and footer not enabled1245 does not contain header and footer1246 behaves like shows new commit urls1247 shows new commit urls1248 does not show hidden new commit urls1249 that have more than the commit truncation limit1250 shows "and more" message1251 behaves like a push to an existing merge request1252 is sent as the push user1253 has the correct subject and body1254 behaves like a multiple recipients email1255 is sent to the given recipient1256 behaves like an answer to an existing thread with reply-by-email enabled1257 has X-GitLab-Project headers1258 has X-GitLab-*-ID header1259 has X-GitLab-*-IID header if model has iid defined1260 has X-GitLab-Project headers1261 has X-GitLab-*-ID header1262 has X-GitLab-*-IID header if model has iid defined1263 has the characteristics of a threaded reply1264 when reply-by-email is enabled with incoming address with %{key}1265 has a Reply-To header1266 when reply-by-email is enabled with incoming address without %{key}1267 has X-GitLab-Project headers1268 has X-GitLab-*-ID header1269 has X-GitLab-*-IID header if model has iid defined1270 has the characteristics of a threaded reply1271 has a Reply-To header1272 behaves like it should show Gmail Actions View Merge request link1273 is expected to have body including "View Merge request"1274 behaves like it should have Gmail Actions links1275 is expected to have body including "ViewAction"1276 behaves like an unsubscribeable thread1277 has a List-Unsubscribe header in the correct format, and a body link1278 behaves like an unsubscribeable thread with incoming address without %{key}1279 has a List-Unsubscribe header in the correct format, and a body link1280 behaves like appearance header and footer enabled1281 contains header and footer1282 behaves like appearance header and footer not enabled1283 does not contain header and footer1284 behaves like shows new commit urls1285 shows new commit urls1286 does not show hidden new commit urls1287 that have new commits on top of an existing one1288 shows the existing commit1289 behaves like a push to an existing merge request1290 is sent as the push user1291 has the correct subject and body1292 behaves like a multiple recipients email1293 is sent to the given recipient1294 behaves like an answer to an existing thread with reply-by-email enabled1295 has X-GitLab-Project headers1296 has X-GitLab-*-ID header1297 has X-GitLab-*-IID header if model has iid defined1298 has X-GitLab-Project headers1299 has X-GitLab-*-ID header1300 has X-GitLab-*-IID header if model has iid defined1301 has the characteristics of a threaded reply1302 when reply-by-email is enabled with incoming address with %{key}1303 has a Reply-To header1304 when reply-by-email is enabled with incoming address without %{key}1305 has X-GitLab-Project headers1306 has X-GitLab-*-ID header1307 has X-GitLab-*-IID header if model has iid defined1308 has the characteristics of a threaded reply1309 has a Reply-To header1310 behaves like it should show Gmail Actions View Merge request link1311 is expected to have body including "View Merge request"1312 behaves like it should have Gmail Actions links1313 is expected to have body including "ViewAction"1314 behaves like an unsubscribeable thread1315 has a List-Unsubscribe header in the correct format, and a body link1316 behaves like an unsubscribeable thread with incoming address without %{key}1317 has a List-Unsubscribe header in the correct format, and a body link1318 behaves like appearance header and footer enabled1319 contains header and footer1320 behaves like appearance header and footer not enabled1321 does not contain header and footer1322 that have new commits on top of two existing ones1323 behaves like a push to an existing merge request1324 is sent as the push user1325 has the correct subject and body1326 behaves like a multiple recipients email1327 is sent to the given recipient1328 behaves like an answer to an existing thread with reply-by-email enabled1329 has X-GitLab-Project headers1330 has X-GitLab-*-ID header1331 has X-GitLab-*-IID header if model has iid defined1332 has X-GitLab-Project headers1333 has X-GitLab-*-ID header1334 has X-GitLab-*-IID header if model has iid defined1335 has the characteristics of a threaded reply1336 when reply-by-email is enabled with incoming address with %{key}1337 has a Reply-To header1338 when reply-by-email is enabled with incoming address without %{key}1339 has X-GitLab-Project headers1340 has X-GitLab-*-ID header1341 has X-GitLab-*-IID header if model has iid defined1342 has the characteristics of a threaded reply1343 has a Reply-To header1344 behaves like it should show Gmail Actions View Merge request link1345 is expected to have body including "View Merge request"1346 behaves like it should have Gmail Actions links1347 is expected to have body including "ViewAction"1348 behaves like an unsubscribeable thread1349 has a List-Unsubscribe header in the correct format, and a body link1350 behaves like an unsubscribeable thread with incoming address without %{key}1351 has a List-Unsubscribe header in the correct format, and a body link1352 behaves like appearance header and footer enabled1353 contains header and footer1354 behaves like appearance header and footer not enabled1355 does not contain header and footer1356 behaves like shows the compare url between first and last commits1357 shows the compare url between first and last commits1358 that have new commits on top of more than two existing ones1359 behaves like a push to an existing merge request1360 is sent as the push user1361 has the correct subject and body1362 behaves like a multiple recipients email1363 is sent to the given recipient1364 behaves like an answer to an existing thread with reply-by-email enabled1365 has X-GitLab-Project headers1366 has X-GitLab-*-ID header1367 has X-GitLab-*-IID header if model has iid defined1368 has X-GitLab-Project headers1369 has X-GitLab-*-ID header1370 has X-GitLab-*-IID header if model has iid defined1371 has the characteristics of a threaded reply1372 when reply-by-email is enabled with incoming address with %{key}1373 has a Reply-To header1374 when reply-by-email is enabled with incoming address without %{key}1375 has X-GitLab-Project headers1376 has X-GitLab-*-ID header1377 has X-GitLab-*-IID header if model has iid defined1378 has the characteristics of a threaded reply1379 has a Reply-To header1380 behaves like it should show Gmail Actions View Merge request link1381 is expected to have body including "View Merge request"1382 behaves like it should have Gmail Actions links1383 is expected to have body including "ViewAction"1384 behaves like an unsubscribeable thread1385 has a List-Unsubscribe header in the correct format, and a body link1386 behaves like an unsubscribeable thread with incoming address without %{key}1387 has a List-Unsubscribe header in the correct format, and a body link1388 behaves like appearance header and footer enabled1389 contains header and footer1390 behaves like appearance header and footer not enabled1391 does not contain header and footer1392 behaves like shows the compare url between first and last commits1393 shows the compare url between first and last commits1394 #mail_thread1395 the model has no namespace1396 has X-GitLab-Namespaced-Thing-ID header1397 the model has a namespace1398 has X-GitLab-Namespaced-Thing-ID header1399 for issue notes1400 in discussion1401 has In-Reply-To header pointing to previous note in discussion1402 has References header including the notes and issue of the discussion1403 has X-GitLab-Discussion-ID header1404 behaves like an email sent to a user1405 is sent to user's global notification email address1406 with group notification email1407 is sent to user's group notification email1408 behaves like appearance header and footer enabled1409 contains header and footer1410 behaves like appearance header and footer not enabled1411 does not contain header and footer1412 individual issue comments1413 has In-Reply-To header pointing to the issue1414 has References header including the notes and issue of the discussion1415 behaves like an email sent to a user1416 is sent to user's global notification email address1417 with group notification email1418 is sent to user's group notification email1419 behaves like appearance header and footer enabled1420 contains header and footer1421 behaves like appearance header and footer not enabled1422 does not contain header and footer1423 with private references accessible to the recipient1424 does not redact the reference1425 renders expanded issue references1426 for snippet notes1427 has the correct subject1428 has the correct body1429 links to the project snippet1430 behaves like appearance header and footer enabled1431 contains header and footer1432 behaves like appearance header and footer not enabled1433 does not contain header and footer1434 behaves like an answer to an existing thread with reply-by-email enabled1435 has X-GitLab-Project headers1436 has X-GitLab-*-ID header1437 has X-GitLab-*-IID header if model has iid defined1438 has X-GitLab-Project headers1439 has X-GitLab-*-ID header1440 has X-GitLab-*-IID header if model has iid defined1441 has the characteristics of a threaded reply1442 when reply-by-email is enabled with incoming address with %{key}1443 has a Reply-To header1444 when reply-by-email is enabled with incoming address without %{key}1445 has X-GitLab-Project headers1446 has X-GitLab-*-ID header1447 has X-GitLab-*-IID header if model has iid defined1448 has the characteristics of a threaded reply1449 has a Reply-To header1450 behaves like a user cannot unsubscribe through footer link1451 does not have a List-Unsubscribe header or a body link1452 for design notes1453 is expected to have header X-Gitlab-DesignManagement-Design-ID: 11454 is expected to have body including "homescreen-1.jpg"1455 is expected to have attributes {:subject => (a string including "homescreen-1.jpg")}1456 project was moved1457 has the correct subject and body1458 behaves like an email sent to a user1459 is sent to user's global notification email address1460 with group notification email1461 is sent to user's group notification email1462 behaves like an email sent from GitLab1463 has the characteristics of an email sent from GitLab1464 behaves like it should not have Gmail Actions links1465 is expected not to have body including "ViewAction"1466 behaves like a user cannot unsubscribe through footer link1467 does not have a List-Unsubscribe header or a body link1468 behaves like appearance header and footer enabled1469 contains header and footer1470 behaves like appearance header and footer not enabled1471 does not contain header and footer1472 project access requested1473 contains all the useful information1474 behaves like an email sent from GitLab1475 has the characteristics of an email sent from GitLab1476 behaves like it should not have Gmail Actions links1477 is expected not to have body including "ViewAction"1478 behaves like a user cannot unsubscribe through footer link1479 does not have a List-Unsubscribe header or a body link1480 behaves like appearance header and footer enabled1481 contains header and footer1482 behaves like appearance header and footer not enabled1483 does not contain header and footer1484 project access denied1485 contains all the useful information1486 behaves like an email sent from GitLab1487 has the characteristics of an email sent from GitLab1488 behaves like it should not have Gmail Actions links1489 is expected not to have body including "ViewAction"1490 behaves like a user cannot unsubscribe through footer link1491 does not have a List-Unsubscribe header or a body link1492 behaves like appearance header and footer enabled1493 contains header and footer1494 behaves like appearance header and footer not enabled1495 does not contain header and footer1496 when user can not read project1497 hides project name from subject and body1498 project access changed1499 contains all the useful information1500 behaves like an email sent from GitLab1501 has the characteristics of an email sent from GitLab1502 behaves like it should not have Gmail Actions links1503 is expected not to have body including "ViewAction"1504 behaves like a user cannot unsubscribe through footer link1505 does not have a List-Unsubscribe header or a body link1506 behaves like appearance header and footer enabled1507 contains header and footer1508 behaves like appearance header and footer not enabled1509 does not contain header and footer1510 with tasks to be done present1511 contains the assigned tasks to be done1512 project invitation1513 behaves like an email sent from GitLab1514 has the characteristics of an email sent from GitLab1515 behaves like it should show Gmail Actions Join now link1516 is expected to have body including "Join now"1517 behaves like it should have Gmail Actions links1518 is expected to have body including "ViewAction"1519 behaves like a user cannot unsubscribe through footer link1520 does not have a List-Unsubscribe header or a body link1521 behaves like appearance header and footer enabled1522 contains header and footer1523 behaves like appearance header and footer not enabled1524 does not contain header and footer1525 behaves like does not render a manage notifications link1526 is expected not to have body including "http://localhost/-/profile/notifications"1527 when there is an inviter1528 contains all the useful information1529 when there is no inviter1530 contains all the useful information1531 when invite email sent is tracked1532 tracks the sent invite1533 when mailgun events are enabled1534 has custom headers1535 with tasks to be done present1536 contains the assigned tasks to be done1537 project invitation accepted1538 contains all the useful information1539 behaves like an email sent from GitLab1540 has the characteristics of an email sent from GitLab1541 behaves like an email sent to a user1542 is sent to user's global notification email address1543 with group notification email1544 is sent to user's group notification email1545 behaves like it should not have Gmail Actions links1546 is expected not to have body including "ViewAction"1547 behaves like a user cannot unsubscribe through footer link1548 does not have a List-Unsubscribe header or a body link1549 behaves like appearance header and footer enabled1550 contains header and footer1551 behaves like appearance header and footer not enabled1552 does not contain header and footer1553 project invitation declined1554 contains all the useful information1555 behaves like an email sent from GitLab1556 has the characteristics of an email sent from GitLab1557 behaves like an email sent to a user1558 is sent to user's global notification email address1559 with group notification email1560 is sent to user's group notification email1561 behaves like it should not have Gmail Actions links1562 is expected not to have body including "ViewAction"1563 behaves like a user cannot unsubscribe through footer link1564 does not have a List-Unsubscribe header or a body link1565 behaves like appearance header and footer enabled1566 contains header and footer1567 behaves like appearance header and footer not enabled1568 does not contain header and footer1569 items that are noteable, the email for a note1570 on a commit1571 has the correct subject and body1572 behaves like a note email1573 is sent to the given recipient as the author1574 contains the message from the note1575 contains a link to note author1576 behaves like it should have Gmail Actions links1577 is expected to have body including "ViewAction"1578 behaves like an answer to an existing thread with reply-by-email enabled1579 has X-GitLab-Project headers1580 has X-GitLab-*-ID header1581 has X-GitLab-*-IID header if model has iid defined1582 has X-GitLab-Project headers1583 has X-GitLab-*-ID header1584 has X-GitLab-*-IID header if model has iid defined1585 has the characteristics of a threaded reply1586 when reply-by-email is enabled with incoming address with %{key}1587 has a Reply-To header1588 when reply-by-email is enabled with incoming address without %{key}1589 has X-GitLab-Project headers1590 has X-GitLab-*-ID header1591 has X-GitLab-*-IID header if model has iid defined1592 has the characteristics of a threaded reply1593 has a Reply-To header1594 behaves like it should show Gmail Actions View Commit link1595 is expected to have body including "View Commit"1596 behaves like it should have Gmail Actions links1597 is expected to have body including "ViewAction"1598 behaves like a user cannot unsubscribe through footer link1599 does not have a List-Unsubscribe header or a body link1600 behaves like appearance header and footer enabled1601 contains header and footer1602 behaves like appearance header and footer not enabled1603 does not contain header and footer1604 on a merge request1605 has the correct subject and body1606 behaves like a note email1607 is sent to the given recipient as the author1608 contains the message from the note1609 contains a link to note author1610 behaves like it should have Gmail Actions links1611 is expected to have body including "ViewAction"1612 behaves like an answer to an existing thread with reply-by-email enabled1613 has X-GitLab-Project headers1614 has X-GitLab-*-ID header1615 has X-GitLab-*-IID header if model has iid defined1616 has X-GitLab-Project headers1617 has X-GitLab-*-ID header1618 has X-GitLab-*-IID header if model has iid defined1619 has the characteristics of a threaded reply1620 when reply-by-email is enabled with incoming address with %{key}1621 has a Reply-To header1622 when reply-by-email is enabled with incoming address without %{key}1623 has X-GitLab-Project headers1624 has X-GitLab-*-ID header1625 has X-GitLab-*-IID header if model has iid defined1626 has the characteristics of a threaded reply1627 has a Reply-To header1628 behaves like it should show Gmail Actions View Merge request link1629 is expected to have body including "View Merge request"1630 behaves like it should have Gmail Actions links1631 is expected to have body including "ViewAction"1632 behaves like an unsubscribeable thread1633 has a List-Unsubscribe header in the correct format, and a body link1634 behaves like an unsubscribeable thread with incoming address without %{key}1635 has a List-Unsubscribe header in the correct format, and a body link1636 behaves like appearance header and footer enabled1637 contains header and footer1638 behaves like appearance header and footer not enabled1639 does not contain header and footer1640 on an issue1641 has the correct subject and body1642 behaves like a note email1643 is sent to the given recipient as the author1644 contains the message from the note1645 contains a link to note author1646 behaves like it should have Gmail Actions links1647 is expected to have body including "ViewAction"1648 behaves like an answer to an existing thread with reply-by-email enabled1649 has X-GitLab-Project headers1650 has X-GitLab-*-ID header1651 has X-GitLab-*-IID header if model has iid defined1652 has X-GitLab-Project headers1653 has X-GitLab-*-ID header1654 has X-GitLab-*-IID header if model has iid defined1655 has the characteristics of a threaded reply1656 when reply-by-email is enabled with incoming address with %{key}1657 has a Reply-To header1658 when reply-by-email is enabled with incoming address without %{key}1659 has X-GitLab-Project headers1660 has X-GitLab-*-ID header1661 has X-GitLab-*-IID header if model has iid defined1662 has the characteristics of a threaded reply1663 has a Reply-To header1664 behaves like it should show Gmail Actions View Issue link1665 is expected to have body including "View Issue"1666 behaves like it should have Gmail Actions links1667 is expected to have body including "ViewAction"1668 behaves like an unsubscribeable thread1669 has a List-Unsubscribe header in the correct format, and a body link1670 behaves like an unsubscribeable thread with incoming address without %{key}1671 has a List-Unsubscribe header in the correct format, and a body link1672 behaves like appearance header and footer enabled1673 contains header and footer1674 behaves like appearance header and footer not enabled1675 does not contain header and footer1676 items that are noteable, the email for a discussion note1677 on a commit1678 has the correct subject1679 contains a link to the commit1680 behaves like a discussion note email1681 is sent to the given recipient as the author1682 contains the message from the note1683 contains an introduction1684 behaves like it should have Gmail Actions links1685 is expected to have body including "ViewAction"1686 when a comment on an existing discussion1687 contains an introduction1688 behaves like an answer to an existing thread with reply-by-email enabled1689 has X-GitLab-Project headers1690 has X-GitLab-*-ID header1691 has X-GitLab-*-IID header if model has iid defined1692 has X-GitLab-Project headers1693 has X-GitLab-*-ID header1694 has X-GitLab-*-IID header if model has iid defined1695 has the characteristics of a threaded reply1696 when reply-by-email is enabled with incoming address with %{key}1697 has a Reply-To header1698 when reply-by-email is enabled with incoming address without %{key}1699 has X-GitLab-Project headers1700 has X-GitLab-*-ID header1701 has X-GitLab-*-IID header if model has iid defined1702 has the characteristics of a threaded reply1703 has a Reply-To header1704 behaves like it should show Gmail Actions View Commit link1705 is expected to have body including "View Commit"1706 behaves like it should have Gmail Actions links1707 is expected to have body including "ViewAction"1708 behaves like a user cannot unsubscribe through footer link1709 does not have a List-Unsubscribe header or a body link1710 behaves like appearance header and footer enabled1711 contains header and footer1712 behaves like appearance header and footer not enabled1713 does not contain header and footer1714 on a merge request1715 has the correct subject1716 contains a link to the merge request note1717 behaves like a discussion note email1718 is sent to the given recipient as the author1719 contains the message from the note1720 contains an introduction1721 behaves like it should have Gmail Actions links1722 is expected to have body including "ViewAction"1723 when a comment on an existing discussion1724 contains an introduction1725 behaves like an answer to an existing thread with reply-by-email enabled1726 has X-GitLab-Project headers1727 has X-GitLab-*-ID header1728 has X-GitLab-*-IID header if model has iid defined1729 has X-GitLab-Project headers1730 has X-GitLab-*-ID header1731 has X-GitLab-*-IID header if model has iid defined1732 has the characteristics of a threaded reply1733 when reply-by-email is enabled with incoming address with %{key}1734 has a Reply-To header1735 when reply-by-email is enabled with incoming address without %{key}1736 has X-GitLab-Project headers1737 has X-GitLab-*-ID header1738 has X-GitLab-*-IID header if model has iid defined1739 has the characteristics of a threaded reply1740 has a Reply-To header1741 behaves like it should show Gmail Actions View Merge request link1742 is expected to have body including "View Merge request"1743 behaves like it should have Gmail Actions links1744 is expected to have body including "ViewAction"1745 behaves like an unsubscribeable thread1746 has a List-Unsubscribe header in the correct format, and a body link1747 behaves like an unsubscribeable thread with incoming address without %{key}1748 has a List-Unsubscribe header in the correct format, and a body link1749 behaves like appearance header and footer enabled1750 contains header and footer1751 behaves like appearance header and footer not enabled1752 does not contain header and footer1753 on an issue1754 has the correct subject1755 contains a link to the issue note1756 behaves like a discussion note email1757 is sent to the given recipient as the author1758 contains the message from the note1759 contains an introduction1760 behaves like it should have Gmail Actions links1761 is expected to have body including "ViewAction"1762 when a comment on an existing discussion1763 contains an introduction1764 behaves like an answer to an existing thread with reply-by-email enabled1765 has X-GitLab-Project headers1766 has X-GitLab-*-ID header1767 has X-GitLab-*-IID header if model has iid defined1768 has X-GitLab-Project headers1769 has X-GitLab-*-ID header1770 has X-GitLab-*-IID header if model has iid defined1771 has the characteristics of a threaded reply1772 when reply-by-email is enabled with incoming address with %{key}1773 has a Reply-To header1774 when reply-by-email is enabled with incoming address without %{key}1775 has X-GitLab-Project headers1776 has X-GitLab-*-ID header1777 has X-GitLab-*-IID header if model has iid defined1778 has the characteristics of a threaded reply1779 has a Reply-To header1780 behaves like it should show Gmail Actions View Issue link1781 is expected to have body including "View Issue"1782 behaves like it should have Gmail Actions links1783 is expected to have body including "ViewAction"1784 behaves like an unsubscribeable thread1785 has a List-Unsubscribe header in the correct format, and a body link1786 behaves like an unsubscribeable thread with incoming address without %{key}1787 has a List-Unsubscribe header in the correct format, and a body link1788 behaves like appearance header and footer enabled1789 contains header and footer1790 behaves like appearance header and footer not enabled1791 does not contain header and footer1792 items that are noteable, the email for a diff discussion note1793 on a commit1794 behaves like an email for a note on a diff discussion1795 includes diffs with character-level highlighting1796 contains a link to the diff file1797 is sent to the given recipient as the author1798 contains the message from the note1799 contains an introduction1800 when note is not on text1801 does not include diffs with character-level highlighting1802 behaves like it should have Gmail Actions links1803 is expected to have body including "ViewAction"1804 when a comment on an existing discussion1805 contains an introduction1806 behaves like it should show Gmail Actions View Commit link1807 is expected to have body including "View Commit"1808 behaves like it should have Gmail Actions links1809 is expected to have body including "ViewAction"1810 behaves like a user cannot unsubscribe through footer link1811 does not have a List-Unsubscribe header or a body link1812 behaves like appearance header and footer enabled1813 contains header and footer1814 behaves like appearance header and footer not enabled1815 does not contain header and footer1816 on a merge request1817 behaves like an email for a note on a diff discussion1818 includes diffs with character-level highlighting1819 contains a link to the diff file1820 is sent to the given recipient as the author1821 contains the message from the note1822 contains an introduction1823 when note is not on text1824 does not include diffs with character-level highlighting1825 behaves like it should have Gmail Actions links1826 is expected to have body including "ViewAction"1827 when a comment on an existing discussion1828 contains an introduction1829 behaves like it should show Gmail Actions View Merge request link1830 is expected to have body including "View Merge request"1831 behaves like it should have Gmail Actions links1832 is expected to have body including "ViewAction"1833 behaves like an unsubscribeable thread1834 has a List-Unsubscribe header in the correct format, and a body link1835 behaves like an unsubscribeable thread with incoming address without %{key}1836 has a List-Unsubscribe header in the correct format, and a body link1837 behaves like appearance header and footer enabled1838 contains header and footer1839 behaves like appearance header and footer not enabled1840 does not contain header and footer1841 for service desk issues1842 thank you email1843 has the correct recipient1844 has the correct subject and body1845 uses service bot name by default1846 behaves like an unsubscribeable thread1847 has a List-Unsubscribe header in the correct format, and a body link1848 behaves like an unsubscribeable thread with incoming address without %{key}1849 has a List-Unsubscribe header in the correct format, and a body link1850 behaves like appearance header and footer enabled1851 contains header and footer1852 behaves like appearance header and footer not enabled1853 does not contain header and footer1854 behaves like a mail with default delivery method1855 uses mailer default delivery method1856 when custom outgoing name is set1857 uses custom name in "from" header1858 when custom outgoing name is empty1859 uses service bot name1860 when service_desk_custom_email is active1861 uses service bot name by default1862 behaves like a mail with default delivery method1863 uses mailer default delivery method1864 when custom email is enabled1865 uses custom email and service bot name in "from" header1866 uses SMTP delivery method and has correct settings1867 new note email1868 has the correct recipient1869 uses author's name in "from" header1870 has the correct subject and body1871 behaves like an unsubscribeable thread1872 has a List-Unsubscribe header in the correct format, and a body link1873 behaves like an unsubscribeable thread with incoming address without %{key}1874 has a List-Unsubscribe header in the correct format, and a body link1875 behaves like appearance header and footer enabled1876 contains header and footer1877 behaves like appearance header and footer not enabled1878 does not contain header and footer1879 behaves like a mail with default delivery method1880 uses mailer default delivery method1881 when service_desk_custom_email is active1882 uses author's name in "from" header1883 behaves like a mail with default delivery method1884 uses mailer default delivery method1885 when custom email is enabled1886 uses custom email and author's name in "from" header1887 uses SMTP delivery method and has correct settings1888 for a group1889 group access requested1890 contains all the useful information1891 behaves like an email sent from GitLab1892 has the characteristics of an email sent from GitLab1893 behaves like an email sent to a user1894 is sent to user's global notification email address1895 with group notification email1896 is sent to user's group notification email1897 behaves like it should not have Gmail Actions links1898 is expected not to have body including "ViewAction"1899 behaves like a user cannot unsubscribe through footer link1900 does not have a List-Unsubscribe header or a body link1901 behaves like appearance header and footer enabled1902 contains header and footer1903 behaves like appearance header and footer not enabled1904 does not contain header and footer1905 group access denied1906 contains all the useful information1907 behaves like an email sent from GitLab1908 has the characteristics of an email sent from GitLab1909 behaves like an email sent to a user1910 is sent to user's global notification email address1911 with group notification email1912 is sent to user's group notification email1913 behaves like it should not have Gmail Actions links1914 is expected not to have body including "ViewAction"1915 behaves like a user cannot unsubscribe through footer link1916 does not have a List-Unsubscribe header or a body link1917 behaves like appearance header and footer enabled1918 contains header and footer1919 behaves like appearance header and footer not enabled1920 does not contain header and footer1921 when user can not read group1922 hides group name from subject and body1923 group access changed1924 contains all the useful information1925 behaves like an email sent from GitLab1926 has the characteristics of an email sent from GitLab1927 behaves like an email sent to a user1928 is sent to user's global notification email address1929 with group notification email1930 is sent to user's group notification email1931 behaves like it should not have Gmail Actions links1932 is expected not to have body including "ViewAction"1933 behaves like a user cannot unsubscribe through footer link1934 does not have a List-Unsubscribe header or a body link1935 behaves like appearance header and footer enabled1936 contains header and footer1937 behaves like appearance header and footer not enabled1938 does not contain header and footer1939 behaves like it requires a group1940 when given an deleted group1941 returns NullMail type message1942 invitations1943 behaves like an email sent from GitLab1944 has the characteristics of an email sent from GitLab1945 behaves like it should show Gmail Actions Join now link1946 is expected to have body including "Join now"1947 behaves like it should have Gmail Actions links1948 is expected to have body including "ViewAction"1949 behaves like a user cannot unsubscribe through footer link1950 does not have a List-Unsubscribe header or a body link1951 behaves like appearance header and footer enabled1952 contains header and footer1953 behaves like appearance header and footer not enabled1954 does not contain header and footer1955 behaves like it requires a group1956 when given an deleted group1957 returns NullMail type message1958 behaves like does not render a manage notifications link1959 is expected not to have body including "http://localhost/-/profile/notifications"1960 when there is an inviter1961 contains all the useful information1962 when there is no inviter1963 contains all the useful information1964 with tasks to be done present1965 contains the assigned tasks to be done1966 when there is no inviter1967 does not contain the assigned tasks to be done1968 group invitation reminders1969 not sending a reminder1970 member does not exist1971 behaves like no email is sent1972 does not send an email1973 member is not created by a user1974 behaves like no email is sent1975 does not send an email1976 member is a known user1977 behaves like no email is sent1978 does not send an email1979 the first reminder1980 contains all the useful information1981 behaves like an email sent from GitLab1982 has the characteristics of an email sent from GitLab1983 behaves like it should not have Gmail Actions links1984 is expected not to have body including "ViewAction"1985 behaves like a user cannot unsubscribe through footer link1986 does not have a List-Unsubscribe header or a body link1987 the second reminder1988 contains all the useful information1989 behaves like an email sent from GitLab1990 has the characteristics of an email sent from GitLab1991 behaves like it should not have Gmail Actions links1992 is expected not to have body including "ViewAction"1993 behaves like a user cannot unsubscribe through footer link1994 does not have a List-Unsubscribe header or a body link1995 the third reminder1996 contains all the useful information1997 behaves like an email sent from GitLab1998 has the characteristics of an email sent from GitLab1999 behaves like it should not have Gmail Actions links2000 is expected not to have body including "ViewAction"2001 behaves like a user cannot unsubscribe through footer link2002 does not have a List-Unsubscribe header or a body link2003 group invitation accepted2004 contains all the useful information2005 behaves like an email sent from GitLab2006 has the characteristics of an email sent from GitLab2007 behaves like it should not have Gmail Actions links2008 is expected not to have body including "ViewAction"2009 behaves like a user cannot unsubscribe through footer link2010 does not have a List-Unsubscribe header or a body link2011 behaves like appearance header and footer enabled2012 contains header and footer2013 behaves like appearance header and footer not enabled2014 does not contain header and footer2015 behaves like it requires a group2016 when given an deleted group2017 returns NullMail type message2018 group invitation declined2019 contains all the useful information2020 behaves like an email sent from GitLab2021 has the characteristics of an email sent from GitLab2022 behaves like it should not have Gmail Actions links2023 is expected not to have body including "ViewAction"2024 behaves like a user cannot unsubscribe through footer link2025 does not have a List-Unsubscribe header or a body link2026 behaves like appearance header and footer enabled2027 contains header and footer2028 behaves like appearance header and footer not enabled2029 does not contain header and footer2030 group expiration date updated2031 when expiration date is changed2032 behaves like an email sent from GitLab2033 has the characteristics of an email sent from GitLab2034 behaves like it should not have Gmail Actions links2035 is expected not to have body including "ViewAction"2036 behaves like a user cannot unsubscribe through footer link2037 does not have a List-Unsubscribe header or a body link2038 behaves like appearance header and footer enabled2039 contains header and footer2040 behaves like appearance header and footer not enabled2041 does not contain header and footer2042 when expiration date is one day away2043 contains all the useful information2044 when expiration date is more than one day away2045 contains all the useful information2046 when a group member is newly given an expiration date2047 contains all the useful information2048 when expiration date is removed2049 contains all the useful information2050 behaves like an email sent from GitLab2051 has the characteristics of an email sent from GitLab2052 behaves like it should not have Gmail Actions links2053 is expected not to have body including "ViewAction"2054 behaves like a user cannot unsubscribe through footer link2055 does not have a List-Unsubscribe header or a body link2056 behaves like appearance header and footer enabled2057 contains header and footer2058 behaves like appearance header and footer not enabled2059 does not contain header and footer2060 admin notification2061 is sent as the author2062 is sent to recipient2063 has the correct subject2064 includes unsubscribe link2065 confirmation if email changed2066 is sent to the new user2067 has the correct subject and body2068 behaves like an email sent from GitLab2069 has the characteristics of an email sent from GitLab2070 behaves like a user cannot unsubscribe through footer link2071 does not have a List-Unsubscribe header or a body link2072 email on push for a created branch2073 is sent as the author2074 has the correct subject and body2075 behaves like it should not have Gmail Actions links2076 is expected not to have body including "ViewAction"2077 behaves like a user cannot unsubscribe through footer link2078 does not have a List-Unsubscribe header or a body link2079 behaves like an email with X-GitLab headers containing project details2080 has X-GitLab-Project headers2081 behaves like an email that contains a header with author username2082 has X-GitLab-Author header containing author's username2083 behaves like appearance header and footer enabled2084 contains header and footer2085 behaves like appearance header and footer not enabled2086 does not contain header and footer2087 email on push for a created tag2088 is sent as the author2089 has the correct subject and body2090 behaves like it should not have Gmail Actions links2091 is expected not to have body including "ViewAction"2092 behaves like a user cannot unsubscribe through footer link2093 does not have a List-Unsubscribe header or a body link2094 behaves like an email with X-GitLab headers containing project details2095 has X-GitLab-Project headers2096 behaves like an email that contains a header with author username2097 has X-GitLab-Author header containing author's username2098 behaves like appearance header and footer enabled2099 contains header and footer2100 behaves like appearance header and footer not enabled2101 does not contain header and footer2102 email on push for a deleted branch2103 is sent as the author2104 has the correct subject2105 behaves like it should not have Gmail Actions links2106 is expected not to have body including "ViewAction"2107 behaves like a user cannot unsubscribe through footer link2108 does not have a List-Unsubscribe header or a body link2109 behaves like an email with X-GitLab headers containing project details2110 has X-GitLab-Project headers2111 behaves like an email that contains a header with author username2112 has X-GitLab-Author header containing author's username2113 behaves like appearance header and footer enabled2114 contains header and footer2115 behaves like appearance header and footer not enabled2116 does not contain header and footer2117 email on push for a deleted tag2118 is sent as the author2119 has the correct subject2120 behaves like it should not have Gmail Actions links2121 is expected not to have body including "ViewAction"2122 behaves like a user cannot unsubscribe through footer link2123 does not have a List-Unsubscribe header or a body link2124 behaves like an email with X-GitLab headers containing project details2125 has X-GitLab-Project headers2126 behaves like an email that contains a header with author username2127 has X-GitLab-Author header containing author's username2128 behaves like appearance header and footer enabled2129 contains header and footer2130 behaves like appearance header and footer not enabled2131 does not contain header and footer2132 email on push with multiple commits2133 is sent as the author2134 has the correct subject and body2135 behaves like it should not have Gmail Actions links2136 is expected not to have body including "ViewAction"2137 behaves like a user cannot unsubscribe through footer link2138 does not have a List-Unsubscribe header or a body link2139 behaves like an email with X-GitLab headers containing project details2140 has X-GitLab-Project headers2141 behaves like an email that contains a header with author username2142 has X-GitLab-Author header containing author's username2143 behaves like appearance header and footer enabled2144 contains header and footer2145 behaves like appearance header and footer not enabled2146 does not contain header and footer2147 when set to send from committer email if domain matches2148 when the committer email domain is within the GitLab domain2149 is sent from the committer email2150 when the committer email domain is not completely within the GitLab domain2151 is sent from the default email2152 when the committer email domain is outside the GitLab domain2153 is sent from the default email2154 email on push with a single commit2155 is sent as the author2156 has the correct subject and body2157 behaves like it should show Gmail Actions View Commit link2158 is expected to have body including "View Commit"2159 behaves like it should have Gmail Actions links2160 is expected to have body including "ViewAction"2161 behaves like a user cannot unsubscribe through footer link2162 does not have a List-Unsubscribe header or a body link2163 behaves like an email with X-GitLab headers containing project details2164 has X-GitLab-Project headers2165 behaves like an email that contains a header with author username2166 has X-GitLab-Author header containing author's username2167 behaves like appearance header and footer enabled2168 contains header and footer2169 behaves like appearance header and footer not enabled2170 does not contain header and footer2171 HTML emails setting2172 behaves like appearance header and footer enabled2173 contains header and footer2174 behaves like appearance header and footer not enabled2175 does not contain header and footer2176 when disabled2177 only sends the text template2178 when enabled2179 sends a multipart message2180 for personal snippet notes2181 has the correct subject2182 has the correct body2183 links to the personal snippet2184 behaves like a user cannot unsubscribe through footer link2185 does not have a List-Unsubscribe header or a body link2186 behaves like appearance header and footer enabled2187 contains header and footer2188 behaves like appearance header and footer not enabled2189 does not contain header and footer2190 merge request reviews2191 is sent to the given recipient as the author2192 contains the message from the notes of the review2193 contains review author name2194 has the correct subject and body2195 behaves like an answer to an existing thread with reply-by-email enabled2196 has X-GitLab-Project headers2197 has X-GitLab-*-ID header2198 has X-GitLab-*-IID header if model has iid defined2199 has X-GitLab-Project headers2200 has X-GitLab-*-ID header2201 has X-GitLab-*-IID header if model has iid defined2202 has the characteristics of a threaded reply2203 when reply-by-email is enabled with incoming address with %{key}2204 has a Reply-To header2205 when reply-by-email is enabled with incoming address without %{key}2206 has X-GitLab-Project headers2207 has X-GitLab-*-ID header2208 has X-GitLab-*-IID header if model has iid defined2209 has the characteristics of a threaded reply2210 has a Reply-To header2211 behaves like it should show Gmail Actions View Merge request link2212 is expected to have body including "View Merge request"2213 behaves like it should have Gmail Actions links2214 is expected to have body including "ViewAction"2215 behaves like an unsubscribeable thread2216 has a List-Unsubscribe header in the correct format, and a body link2217 behaves like an unsubscribeable thread with incoming address without %{key}2218 has a List-Unsubscribe header in the correct format, and a body link2219 when diff note2220 links to notes and discussions2221 includes only one link to the highlighted_diff_email2222 avoids N+1 cached queries when rendering html2223 avoids N+1 cached queries when rendering text2224 in product marketing2225 does not raise error2226API::Discussions2227 when discussions have cross-reference system notes2228 behaves like with cross-reference system notes2229 returns only the note that the user should see2230 avoids Git calls and N+1 SQL queries2231 when noteable is an Issue2232 behaves like discussions API2233 GET /projects/:id/issues/:noteable_id/discussions2234 returns an array of discussions2235 returns a 404 error when noteable id not found2236 returns 404 when not authorized2237 GET /projects/:id/issues/:noteable_id/discussions/:discussion_id2238 returns a discussion by id2239 returns a 404 error if discussion not found2240 POST /projects/:id/issues/:noteable_id/discussions2241 creates a new note2242 returns a 400 bad request error if body not given2243 returns a 401 unauthorized error if user not authenticated2244 tracks a Notes::CreateService event2245 when an admin or owner makes the request2246 accepts the creation date to be set2247 when user does not have access to read the discussion2248 responds with 4042249 when a project is public with private repo access2250 when user is not a team member of private repo2251 creating a new note2252 raises 404 error2253 fetching a discussion2254 raises 404 error2255 POST /projects/:id/issues/:noteable_id/discussions/:discussion_id/notes2256 adds a new note to the discussion2257 returns a 400 bad request error if body not given2258 when the discussion is an individual note2259 creates a new discussion2260 PUT /projects/:id/issues/:noteable_id/discussions/:discussion_id/notes/:note_id2261 returns modified note2262 returns a 404 error when note id not found2263 returns a 400 bad request error if body not given2264 DELETE /projects/:id/issues/:noteable_id/discussions/:discussion_id/notes/:note_id2265 deletes a note2266 returns a 404 error when note id not found2267 behaves like 412 response2268 for a modified resource2269 returns 412 with a JSON error2270 for an unmodified resource2271 returns 204 with an empty body2272 when noteable is a WorkItem2273 behaves like discussions API2274 GET /projects/:id/issues/:noteable_id/discussions2275 returns an array of discussions2276 returns a 404 error when noteable id not found2277 returns 404 when not authorized2278 GET /projects/:id/issues/:noteable_id/discussions/:discussion_id2279 returns a discussion by id2280 returns a 404 error if discussion not found2281 POST /projects/:id/issues/:noteable_id/discussions2282 creates a new note2283 returns a 400 bad request error if body not given2284 returns a 401 unauthorized error if user not authenticated2285 tracks a Notes::CreateService event2286 when an admin or owner makes the request2287 accepts the creation date to be set2288 when user does not have access to read the discussion2289 responds with 4042290 when a project is public with private repo access2291 when user is not a team member of private repo2292 creating a new note2293 raises 404 error2294 fetching a discussion2295 raises 404 error2296 POST /projects/:id/issues/:noteable_id/discussions/:discussion_id/notes2297 adds a new note to the discussion2298 returns a 400 bad request error if body not given2299 when the discussion is an individual note2300 creates a new discussion2301 PUT /projects/:id/issues/:noteable_id/discussions/:discussion_id/notes/:note_id2302 returns modified note2303 returns a 404 error when note id not found2304 returns a 400 bad request error if body not given2305 DELETE /projects/:id/issues/:noteable_id/discussions/:discussion_id/notes/:note_id2306 deletes a note2307 returns a 404 error when note id not found2308 behaves like 412 response2309 for a modified resource2310 returns 412 with a JSON error2311 for an unmodified resource2312 returns 204 with an empty body2313 with work item without notes widget2314 when fetching discussions2315 returns 4042316 when single fetching discussion by discussion_id2317 returns 4042318 when trying to create a new discussion2319 returns 4042320 when trying to create a new comment on a discussion2321 returns 4042322 when trying to update a new comment on a discussion2323 returns 4042324 when deleting a note2325 returns 4042326 when noteable is a Snippet2327 behaves like discussions API2328 GET /projects/:id/snippets/:noteable_id/discussions2329 returns an array of discussions2330 returns a 404 error when noteable id not found2331 returns 404 when not authorized2332 GET /projects/:id/snippets/:noteable_id/discussions/:discussion_id2333 returns a discussion by id2334 returns a 404 error if discussion not found2335 POST /projects/:id/snippets/:noteable_id/discussions2336 creates a new note2337 returns a 400 bad request error if body not given2338 returns a 401 unauthorized error if user not authenticated2339 tracks a Notes::CreateService event2340 when an admin or owner makes the request2341 accepts the creation date to be set2342 when user does not have access to read the discussion2343 responds with 4042344 when a project is public with private repo access2345 when user is not a team member of private repo2346 creating a new note2347 raises 404 error2348 fetching a discussion2349 raises 404 error2350 POST /projects/:id/snippets/:noteable_id/discussions/:discussion_id/notes2351 adds a new note to the discussion2352 returns a 400 bad request error if body not given2353 when the discussion is an individual note2354 returns 400 bad request2355 PUT /projects/:id/snippets/:noteable_id/discussions/:discussion_id/notes/:note_id2356 returns modified note2357 returns a 404 error when note id not found2358 returns a 400 bad request error if body not given2359 DELETE /projects/:id/snippets/:noteable_id/discussions/:discussion_id/notes/:note_id2360 deletes a note2361 returns a 404 error when note id not found2362 behaves like 412 response2363 for a modified resource2364 returns 412 with a JSON error2365 for an unmodified resource2366 returns 204 with an empty body2367 when noteable is a Merge Request2368 behaves like discussions API2369 GET /projects/:id/merge_requests/:noteable_id/discussions2370 returns an array of discussions2371 returns a 404 error when noteable id not found2372 returns 404 when not authorized2373 GET /projects/:id/merge_requests/:noteable_id/discussions/:discussion_id2374 returns a discussion by id2375 returns a 404 error if discussion not found2376 POST /projects/:id/merge_requests/:noteable_id/discussions2377 creates a new note2378 returns a 400 bad request error if body not given2379 returns a 401 unauthorized error if user not authenticated2380 tracks a Notes::CreateService event2381 when an admin or owner makes the request2382 accepts the creation date to be set2383 when user does not have access to read the discussion2384 responds with 4042385 when a project is public with private repo access2386 when user is not a team member of private repo2387 creating a new note2388 raises 404 error2389 fetching a discussion2390 raises 404 error2391 POST /projects/:id/merge_requests/:noteable_id/discussions/:discussion_id/notes2392 adds a new note to the discussion2393 returns a 400 bad request error if body not given2394 when the discussion is an individual note2395 creates a new discussion2396 PUT /projects/:id/merge_requests/:noteable_id/discussions/:discussion_id/notes/:note_id2397 returns modified note2398 returns a 404 error when note id not found2399 returns a 400 bad request error if body not given2400 DELETE /projects/:id/merge_requests/:noteable_id/discussions/:discussion_id/notes/:note_id2401 deletes a note2402 returns a 404 error when note id not found2403 behaves like 412 response2404 for a modified resource2405 returns 412 with a JSON error2406 for an unmodified resource2407 returns 204 with an empty body2408 behaves like diff discussions API2409 GET /projects/:id/merge_requests/:noteable_id/discussions2410 includes diff discussions2411 GET /projects/:id/merge_requests/:noteable_id/discussions/:discussion_id2412 returns a discussion by id2413 POST /projects/:id/merge_requests/:noteable_id/discussions2414 creates a new diff note2415 when position is invalid2416 returns a 400 bad request error when position is not plausible2417 returns a 400 bad request error when the position is not valid for this discussion2418 POST /projects/:id/merge_requests/:noteable_id/discussions/:discussion_id/notes2419 adds a new note to the diff discussion2420 behaves like resolvable discussions API2421 PUT /projects/:id/merge_requests/:noteable_id/discussions/:discussion_id2422 resolves discussion if resolved is true2423 unresolves discussion if resolved is false2424 returns a 400 bad request error if resolved parameter is not passed2425 returns a 401 unauthorized error if user is not authenticated2426 returns a 403 error if user resolves discussion of someone else2427 when user does not have access to read the discussion2428 responds with 4042429 PUT /projects/:id/merge_requests/:noteable_id/discussions/:discussion_id/notes/:note_id2430 returns resolved note when resolved parameter is true2431 returns a 404 error when note id not found2432 returns a 400 bad request error if neither body nor resolved parameter is given2433 returns a 403 error if user resolves note of someone else2434 when position is for a previous commit on the merge request2435 returns a 400 bad request error because the line_code is old2436 when a commit parameter is given2437 creates the discussion on that commit within the merge request2438 when noteable is a Commit2439 behaves like discussions API2440 GET /projects/:id/repository/commits/:noteable_id/discussions2441 returns an array of discussions2442 returns a 404 error when noteable id not found2443 returns 404 when not authorized2444 GET /projects/:id/repository/commits/:noteable_id/discussions/:discussion_id2445 returns a discussion by id2446 returns a 404 error if discussion not found2447 POST /projects/:id/repository/commits/:noteable_id/discussions2448 creates a new note2449 returns a 400 bad request error if body not given2450 returns a 401 unauthorized error if user not authenticated2451 tracks a Notes::CreateService event2452 when an admin or owner makes the request2453 accepts the creation date to be set2454 when user does not have access to read the discussion2455 responds with 4042456 when a project is public with private repo access2457 when user is not a team member of private repo2458 creating a new note2459 raises 404 error2460 fetching a discussion2461 raises 404 error2462 POST /projects/:id/repository/commits/:noteable_id/discussions/:discussion_id/notes2463 adds a new note to the discussion2464 returns a 400 bad request error if body not given2465 when the discussion is an individual note2466 returns 400 bad request2467 PUT /projects/:id/repository/commits/:noteable_id/discussions/:discussion_id/notes/:note_id2468 returns modified note2469 returns a 404 error when note id not found2470 returns a 400 bad request error if body not given2471 DELETE /projects/:id/repository/commits/:noteable_id/discussions/:discussion_id/notes/:note_id2472 deletes a note2473 returns a 404 error when note id not found2474 behaves like 412 response2475 for a modified resource2476 returns 412 with a JSON error2477 for an unmodified resource2478 returns 204 with an empty body2479 behaves like diff discussions API2480 GET /projects/:id/repository/commits/:noteable_id/discussions2481 includes diff discussions2482 GET /projects/:id/repository/commits/:noteable_id/discussions/:discussion_id2483 returns a discussion by id2484 POST /projects/:id/repository/commits/:noteable_id/discussions2485 creates a new diff note2486 when position is invalid2487 returns a 400 bad request error when position is not plausible2488 returns a 400 bad request error when the position is not valid for this discussion2489 POST /projects/:id/repository/commits/:noteable_id/discussions/:discussion_id/notes2490 adds a new note to the diff discussion2491Projects::MergeRequestsController2492 GET commit_change_content2493 renders commit_change_content template2494 GET show2495 with view param2496 saves the preferred diff view in a cookie2497 when merge request is unchecked2498 checks mergeability asynchronously2499 when add_prepared_state_to_mr feature flag on2500 when the merge request is not prepared2501 prepares the merge request2502 when the merge request was created less than 5 minutes ago2503 does not prepare the merge request again2504 when the merge request was created 5 minutes ago2505 prepares the merge request2506 when the merge request is prepared2507 prepares the merge request2508 when add_prepared_state_to_mr feature flag is off2509 does not prepare the merge request again2510 as html2511 sets the endpoint_metadata_url2512 renders merge request page2513 logs the view with Gitlab::Search::RecentMergeRequests2514 when merge_head diff is present2515 sets the endpoint_diff_batch_url with ck2516 sets diffs_batch_cache_key2517 when diffs_batch_cache_with_max_age feature flag is disabled2518 sets the endpoint_diff_batch_url without ck param2519 does not set diffs_batch_cache_key2520 when diff files were cleaned2521 renders page when diff size is not persisted and diff_refs does not exist2522 when diff is missing2523 renders merge request page2524 that is invalid2525 renders merge request page2526 when project has moved2527 redirects from an old merge request correctly2528 redirects from an old merge request commits correctly2529 when user is setting notes filters2530 behaves like issuable notes filter2531 sets discussion filter2532 expires notes e-tag cache for issuable if filter changed2533 does not expires notes e-tag cache for issuable if filter did not change2534 does not set notes filter when database is in read-only mode2535 does not set notes filter when persist_filter param is false2536 returns only user comments2537 returns only activity notes2538 when filter is set to "only_comments"2539 does not merge label event notes2540 as json2541 with basic serializer param2542 renders basic MR entity as json2543 with widget serializer param2544 renders widget MR entity as json2545 when no serialiser was passed2546 renders widget MR entity as json2547 that is invalid2548 renders merge request page2549 as diff2550 triggers workhorse to serve the request2551 when there is no diff2552 renders 4042553 as patch2554 triggers workhorse to serve the request2555 when there is no diff2556 renders 4042557 GET index2558 behaves like issuables list meta-data2559 creates indexed meta-data object for issuable notes and votes count2560 avoids N+1 queries2561 searching2562 works when sorting by created_asc2563 works when sorting by created_at_asc2564 works when sorting by created_date2565 works when sorting by created_desc2566 works when sorting by created_at_desc2567 works when sorting by id_asc2568 works when sorting by id_desc2569 works when sorting by updated_asc2570 works when sorting by updated_at_asc2571 works when sorting by updated_desc2572 works when sorting by updated_at_desc2573 works when sorting by title_asc2574 works when sorting by title_desc2575 works when sorting by closest_future_date2576 works when sorting by closest_future_date_asc2577 works when sorting by due_date2578 works when sorting by due_date_asc2579 works when sorting by due_date_desc2580 works when sorting by relative_position2581 works when sorting by relative_position_asc2582 works when sorting by weight2583 works when sorting by weight_asc2584 works when sorting by weight_desc2585 works when sorting by popularity2586 works when sorting by priority2587 works when sorting by label_priority2588 when given empty collection2589 doesn't execute any queries with false conditions2590 behaves like set sort order from user preference2591 #set_sort_order_from_user_preference2592 when database is in read-only mode2593 does not update user preference2594 when database is not in read-only mode2595 updates user preference2596 when page param2597 redirects to last_page if page number is larger than number of pages2598 redirects to specified page2599 does not redirect to external sites when provided a host field2600 when filtering by opened state2601 with opened merge requests2602 lists those merge requests2603 with reopened merge requests2604 lists those merge requests2605 PUT update2606 changing the assignee2607 limits the attributes exposed on the assignee2608 when user does not have access to update issue2609 responds with 4042610 there is no source project2611 closes MR without errors2612 allows editing of a closed merge request2613 does not allow to update target branch closed merge request2614 behaves like update invalid issuable2615 when updating causes conflicts2616 renders edit when format is html2617 renders json error message when format is json2618 when updating an invalid issuable2619 renders edit when merge request is invalid2620 two merge requests with the same source branch2621 does not allow a closed merge request to be reopened if another one is open2622 POST merge2623 when user cannot access2624 returns 4042625 when the merge request is not mergeable2626 returns :failed2627 for logging2628 behaves like storing arguments in the application context2629 places the expected params in the application context2630 behaves like not executing any extra queries for the application context2631 does not execute more queries than without adding anything to the application context2632 when the sha parameter does not match the source SHA2633 returns :sha_mismatch2634 for logging2635 behaves like storing arguments in the application context2636 places the expected params in the application context2637 behaves like not executing any extra queries for the application context2638 does not execute more queries than without adding anything to the application context2639 when the sha parameter matches the source SHA2640 returns :success2641 starts the merge immediately with permitted params2642 for logging2643 behaves like storing arguments in the application context2644 places the expected params in the application context2645 behaves like not executing any extra queries for the application context2646 does not execute more queries than without adding anything to the application context2647 when squash is passed as 12648 updates the squash attribute on the MR to true2649 when squash is passed as 02650 updates the squash attribute on the MR to false2651 when a squash commit message is passed2652 passes the same message to SquashService2653 when merge when pipeline succeeds option is passed2654 returns :merge_when_pipeline_succeeds2655 sets the MR to merge when the pipeline succeeds2656 for logging2657 behaves like storing arguments in the application context2658 places the expected params in the application context2659 behaves like not executing any extra queries for the application context2660 does not execute more queries than without adding anything to the application context2661 when project.only_allow_merge_if_pipeline_succeeds? is true2662 returns :merge_when_pipeline_succeeds2663 and head pipeline is not the current one2664 returns :failed2665 when auto merge has not been enabled yet2666 calls AutoMergeService#execute2667 when auto merge has already been enabled2668 calls AutoMergeService#update2669 only_allow_merge_if_all_discussions_are_resolved? setting2670 when enabled2671 with unresolved discussion2672 returns :failed2673 with all discussions resolved2674 returns :success2675 when disabled2676 with unresolved discussion2677 returns :success2678 with all discussions resolved2679 returns :success2680 DELETE destroy2681 denies access to users unless they're admin or project owner2682 when the user is owner2683 deletes the merge request2684 prevents deletion if destroy_confirm is not set2685 prevents deletion in JSON format if destroy_confirm is not set2686 GET commits2687 renders the commits template to a string2688 pagination2689 page: 1, next_page: 22690 renders the commits for page 12691 page: 2, next_page: 32692 renders the commits for page 22693 page: 3, next_page: nil2694 renders the commits for page 32695 GET pipelines2696 with "enabled" builds on a public project2697 for a project owner2698 responds with serialized pipelines2699 for an unassociated user2700 responds with no pipelines2701 with private builds on a public project2702 for a project owner2703 responds with serialized pipelines2704 for an unassociated user2705 responds with no pipelines2706 from a project fork2707 with private builds2708 for the target project member2709 does not respond with serialized pipelines2710 for the source project member2711 responds with serialized pipelines2712 with public builds2713 for the target project member2714 does not respond with serialized pipelines2715 for the source project member2716 responds with serialized pipelines2717 with pagination2718 paginates the result2719 GET context commits2720 returns the commits for context commits2721 GET exposed_artifacts2722 permissions on a public project with private CI/CD2723 while signed out2724 responds with a 4042725 while signed in as an unrelated user2726 responds with a 4042727 when pipeline has jobs with exposed artifacts2728 when fetching exposed artifacts is in progress2729 sends polling interval2730 returns 204 HTTP status2731 when fetching exposed artifacts is completed2732 returns exposed artifacts2733 when pipeline does not have jobs with exposed artifacts2734 returns no content2735 GET coverage_reports2736 permissions on a public project with private CI/CD2737 while signed out2738 responds with a 4042739 while signed in as an unrelated user2740 responds with a 4042741 when pipeline has jobs with coverage reports2742 when processing coverage reports is in progress2743 sends polling interval2744 returns 204 HTTP status2745 when processing coverage reports is completed2746 returns coverage reports2747 when user created corrupted coverage reports2748 does not send polling interval2749 returns 400 HTTP status2750 when pipeline does not have jobs with coverage reports2751 returns no content2752 GET codequality_mr_diff_reports2753 permissions on a public project with private CI/CD2754 while signed out2755 responds with a 4042756 while signed in as an unrelated user2757 responds with a 4042758 when pipeline has jobs with codequality mr diff report2759 when processing codequality mr diff report is in progress2760 sends polling interval2761 returns 204 HTTP status2762 when processing codequality mr diff report is completed2763 returns codequality mr diff report2764 GET terraform_reports2765 permissions on a public project with private CI/CD2766 while signed out2767 responds with a 4042768 while signed in as an unrelated user2769 responds with a 4042770 when pipeline has jobs with terraform reports2771 when processing terraform reports is in progress2772 sends polling interval2773 returns 204 HTTP status2774 when processing terraform reports is completed2775 returns terraform reports2776 when user created corrupted terraform reports2777 does not send polling interval2778 returns 400 HTTP status2779 when pipeline does not have jobs with terraform reports2780 returns error2781 GET test_reports2782 permissions on a public project with private CI/CD2783 while signed out2784 responds with a 4042785 while signed in as an unrelated user2786 responds with a 4042787 when comparison is being processed2788 sends polling interval2789 returns 204 HTTP status2790 when comparison is done2791 does not send polling interval2792 returns 200 HTTP status2793 when user created corrupted test reports2794 does not send polling interval2795 returns 400 HTTP status2796 GET accessibility_reports2797 permissions on a public project with private CI/CD2798 while signed out2799 responds with a 4042800 while signed in as an unrelated user2801 responds with a 4042802 when pipeline has jobs with accessibility reports2803 when processing accessibility reports is in progress2804 sends polling interval2805 returns 204 HTTP status2806 when processing accessibility reports is completed2807 returns accessibility reports2808 when user created corrupted accessibility reports2809 does not send polling interval2810 returns 400 HTTP status2811 GET codequality_reports2812 permissions on a public project with private CI/CD2813 while signed out2814 responds with a 4042815 while signed in as an unrelated user2816 responds with a 4042817 when pipeline has jobs with codequality reports2818 when processing codequality reports is in progress2819 sends polling interval2820 returns 204 HTTP status2821 when processing codequality reports is completed2822 returns codequality reports2823 when pipeline has job without a codequality report2824 returns a 4002825 POST remove_wip2826 removes the draft status2827 renders MergeRequest as JSON2828 POST cancel_auto_merge2829 calls AutoMergeService2830 is expected to respond with numeric status code success2831 renders MergeRequest as JSON2832 POST assign_related_issues2833 displays an flash error message on fail2834 shows a flash message on success2835 correctly pluralizes flash message on success2836 calls MergeRequests::AssignIssuesService2837 is skipped when not signed in2838 GET ci_environments_status2839 uses the explicitly linked deployments2840 the environment is from a forked project2841 links to the environment on that project2842 keeps queries in check2843 has no N+1 SQL issues for environments2844 when environment_target is 'merge_commit'2845 returns nothing2846 when is merged2847 returns the environment on the source project2848 when a merge request has multiple environments with deployments2849 exposes multiple environment statuses2850 when route map is not present in the project2851 does not have N+1 Gitaly requests for environments2852 when there is route map present in a project2853 does not have N+1 Gitaly requests for diff files2854 GET pipeline_status.json2855 when head_pipeline exists2856 returns a detailed head_pipeline status in json2857 with project member visibility on a public project2858 returns pipeline data to project members2859 returns blank OK response to non-project-members2860 when head_pipeline does not exist2861 returns blank OK response2862 POST #rebase2863 successfully2864 with skip_ci not specified2865 behaves like successful rebase scheduler2866 enqueues a RebaseWorker2867 with skip_ci enabled2868 behaves like successful rebase scheduler2869 enqueues a RebaseWorker2870 with skip_ci disabled2871 behaves like successful rebase scheduler2872 enqueues a RebaseWorker2873 with NOWAIT lock2874 returns a 4092875 when source branch is protected from force push2876 returns 4032877 with a forked project2878 user cannot push to source branch2879 returns 4032880 user can push to source branch2881 returns 2002882 GET discussions2883 when authenticated2884 returns 2002885 highlight preloading2886 with commit diff notes2887 preloads notes diffs highlights2888 with diff notes2889 preloads notes diffs highlights2890 does not preload highlights when diff note is resolved2892 behaves like discussions provider2893 returns the expected discussions2894 GET edit2895 responds successfully2896 assigns the noteable to make sure autocompletes work2897 POST export_csv2898 redirects to the merge request index2899 enqueues an IssuableExportCsvWorker worker2900API::Search2901 GET /search2902 when user is not authenticated2903 returns 401 error2904 when DB timeouts occur from global searches2905 returns a 408 error if search with scope: issues times out2906 returns a 408 error if search with scope: merge_requests times out2907 returns a 408 error if search with scope: milestones times out2908 returns a 408 error if search with scope: projects times out2909 returns a 408 error if search with scope: snippet_titles times out2910 returns a 408 error if search with scope: users times out2911 when scope is not supported2912 returns 400 error2913 when scope is missing2914 returns 400 error2915 when there is a search error2916 returns 400 error2917 with correct params2918 increments the custom search sli error rate with error false if no error occurred2919 increments the custom search sli error rate with error true if an error occurred2920 sets global search information for logging2921 for projects scope2922 behaves like response is correct2923 is expected to respond with numeric status code ok2924 is expected to match response schema "public_api/v4/projects"2925 is expected to include limited pagination headers2926 is expected to eq 12927 behaves like pagination2928 returns a different result for each page2929 returns 1 result when per_page is 12930 returns 2 results when per_page is 22931 behaves like ping counters2932 increases usage ping searches counter2933 behaves like apdex recorded2934 increments the custom search sli apdex2935 for issues scope2936 without filtering by state2937 behaves like response is correct2938 is expected to respond with numeric status code ok2939 is expected to match response schema "public_api/v4/issues"2940 is expected to include limited pagination headers2941 is expected to eq 12942 behaves like ping counters2943 increases usage ping searches counter2944 behaves like apdex recorded2945 increments the custom search sli apdex2946 behaves like issues orderable by created_at2947 behaves like orderable by created_at2948 allows ordering results by created_at asc2949 allows ordering results by created_at desc2950 pagination2951 returns a different result for each page2952 returns 1 result when per_page is 12953 returns 2 results when per_page is 22954 filter by state2955 state: opened2956 respects scope filtering2957 state: closed2958 respects scope filtering2959 filter by confidentiality2960 confidential: true2961 respects confidentiality filtering2962 confidential: false2963 respects confidentiality filtering2964 for merge_requests scope2965 without filtering by state2966 behaves like response is correct2967 is expected to respond with numeric status code ok2968 is expected to match response schema "public_api/v4/merge_requests"2969 is expected to include limited pagination headers2970 is expected to eq 12971 behaves like ping counters2972 increases usage ping searches counter2973 behaves like apdex recorded2974 increments the custom search sli apdex2975 behaves like merge_requests orderable by created_at2976 behaves like orderable by created_at2977 allows ordering results by created_at asc2978 allows ordering results by created_at desc2979 pagination2980 returns a different result for each page2981 returns 1 result when per_page is 12982 returns 2 results when per_page is 22983 filter by state2984 state: opened2985 respects scope filtering2986 state: closed2987 respects scope filtering2988 for milestones scope2989 when user can read project milestones2990 behaves like response is correct2991 is expected to respond with numeric status code ok2992 is expected to match response schema "public_api/v4/milestones"2993 is expected to include limited pagination headers2994 is expected to eq 12995 behaves like ping counters2996 increases usage ping searches counter2997 behaves like apdex recorded2998 increments the custom search sli apdex2999 pagination3000 returns a different result for each page3001 returns 1 result when per_page is 13002 returns 2 results when per_page is 23003 when user cannot read project milestones3004 returns empty array3005 for users scope3006 behaves like response is correct3007 is expected to respond with numeric status code ok3008 is expected to match response schema "public_api/v4/user/basics"3009 is expected to include limited pagination headers3010 is expected to eq 13011 behaves like pagination3012 returns a different result for each page3013 returns 1 result when per_page is 13014 returns 2 results when per_page is 23015 behaves like ping counters3016 increases usage ping searches counter3017 behaves like apdex recorded3018 increments the custom search sli apdex3019 for snippet_titles scope3020 behaves like response is correct3021 is expected to respond with numeric status code ok3022 is expected to match response schema "public_api/v4/snippets"3023 is expected to include limited pagination headers3024 is expected to eq 13025 behaves like ping counters3026 increases usage ping searches counter3027 behaves like apdex recorded3028 increments the custom search sli apdex3029 pagination3030 returns a different result for each page3031 returns 1 result when per_page is 13032 returns 2 results when per_page is 23033 global search is disabled for the given scope3034 returns forbidden response3035 global search is enabled for the given scope3036 returns forbidden response3037 behaves like rate limited endpoint3038 when rate limiter enabled3039 logs request and declines it when endpoint called more than the threshold3040 when rate limiter is disabled3041 does not log request and does not block the request3042 GET /groups/:id/search3043 when user is not authenticated3044 returns 401 error3045 when scope is not supported3046 returns 400 error3047 when scope is missing3048 returns 400 error3049 when group does not exist3050 returns 404 error3051 when user does can not see the group3052 returns 404 error3053 with correct params3054 for projects scope3055 behaves like response is correct3056 is expected to respond with numeric status code ok3057 is expected to match response schema "public_api/v4/projects"3058 is expected to include limited pagination headers3059 is expected to eq 13060 behaves like pagination3061 returns a different result for each page3062 returns 1 result when per_page is 13063 returns 2 results when per_page is 23064 behaves like ping counters3065 increases usage ping searches counter3066 behaves like apdex recorded3067 increments the custom search sli apdex3068 for issues scope3069 behaves like response is correct3070 is expected to respond with numeric status code ok3071 is expected to match response schema "public_api/v4/issues"3072 is expected to include limited pagination headers3073 is expected to eq 13074 behaves like ping counters3075 increases usage ping searches counter3076 behaves like apdex recorded3077 increments the custom search sli apdex3078 behaves like issues orderable by created_at3079 behaves like orderable by created_at3080 allows ordering results by created_at asc3081 allows ordering results by created_at desc3082 pagination3083 returns a different result for each page3084 returns 1 result when per_page is 13085 returns 2 results when per_page is 23086 for merge_requests scope3087 behaves like response is correct3088 is expected to respond with numeric status code ok3089 is expected to match response schema "public_api/v4/merge_requests"3090 is expected to include limited pagination headers3091 is expected to eq 13092 behaves like ping counters3093 increases usage ping searches counter3094 behaves like apdex recorded3095 increments the custom search sli apdex3096 behaves like merge_requests orderable by created_at3097 behaves like orderable by created_at3098 allows ordering results by created_at asc3099 allows ordering results by created_at desc3100 pagination3101 returns a different result for each page3102 returns 1 result when per_page is 13103 returns 2 results when per_page is 23104 for milestones scope3105 behaves like response is correct3106 is expected to respond with numeric status code ok3107 is expected to match response schema "public_api/v4/milestones"3108 is expected to include limited pagination headers3109 is expected to eq 13110 behaves like ping counters3111 increases usage ping searches counter3112 behaves like apdex recorded3113 increments the custom search sli apdex3114 pagination3115 returns a different result for each page3116 returns 1 result when per_page is 13117 returns 2 results when per_page is 23118 for milestones scope with group path as id3119 behaves like response is correct3120 is expected to respond with numeric status code ok3121 is expected to match response schema "public_api/v4/milestones"3122 is expected to include limited pagination headers3123 is expected to eq 13124 for users scope3125 behaves like response is correct3126 is expected to respond with numeric status code ok3127 is expected to match response schema "public_api/v4/user/basics"3128 is expected to include limited pagination headers3129 is expected to eq 13130 behaves like ping counters3131 increases usage ping searches counter3132 behaves like apdex recorded3133 increments the custom search sli apdex3134 pagination3135 returns a different result for each page3136 returns 1 result when per_page is 13137 returns 2 results when per_page is 23138 for users scope with group path as id3139 behaves like response is correct3140 is expected to respond with numeric status code ok3141 is expected to match response schema "public_api/v4/user/basics"3142 is expected to include limited pagination headers3143 is expected to eq 13144 behaves like rate limited endpoint3145 when rate limiter enabled3146 logs request and declines it when endpoint called more than the threshold3147 when rate limiter is disabled3148 does not log request and does not block the request3149 GET /projects/:id/search3150 when user is not authenticated3151 returns 401 error3152 when scope is not supported3153 returns 400 error3154 when scope is missing3155 returns 400 error3156 when project does not exist3157 returns 404 error3158 when user can not see the project3159 returns 404 error3160 with correct params3161 for issues scope3162 behaves like response is correct3163 is expected to respond with numeric status code ok3164 is expected to match response schema "public_api/v4/issues"3165 is expected to include limited pagination headers3166 is expected to eq 13167 behaves like ping counters3168 increases usage ping searches counter3169 behaves like issues orderable by created_at3170 behaves like orderable by created_at3171 allows ordering results by created_at asc3172 allows ordering results by created_at desc3173 behaves like apdex recorded3174 increments the custom search sli apdex3175 pagination3176 returns a different result for each page3177 returns 1 result when per_page is 13178 returns 2 results when per_page is 23179 when requesting basic search3180 passes the parameter to search service3181 for merge_requests scope3182 behaves like response is correct3183 is expected to respond with numeric status code ok3184 is expected to match response schema "public_api/v4/merge_requests"3185 is expected to include limited pagination headers3186 is expected to eq 13187 behaves like ping counters3188 increases usage ping searches counter3189 behaves like merge_requests orderable by created_at3190 behaves like orderable by created_at3191 allows ordering results by created_at asc3192 allows ordering results by created_at desc3193 behaves like apdex recorded3194 increments the custom search sli apdex3195 pagination3196 returns a different result for each page3197 returns 1 result when per_page is 13198 returns 2 results when per_page is 23199 for milestones scope3200 when user can read milestones3201 behaves like response is correct3202 is expected to respond with numeric status code ok3203 is expected to match response schema "public_api/v4/milestones"3204 is expected to include limited pagination headers3205 is expected to eq 13206 behaves like ping counters3207 increases usage ping searches counter3208 behaves like apdex recorded3209 increments the custom search sli apdex3210 pagination3211 returns a different result for each page3212 returns 1 result when per_page is 13213 returns 2 results when per_page is 23214 when user cannot read project milestones3215 returns empty array3216 for users scope3217 behaves like response is correct3218 is expected to respond with numeric status code ok3219 is expected to match response schema "public_api/v4/user/basics"3220 is expected to include limited pagination headers3221 is expected to eq 13222 behaves like ping counters3223 increases usage ping searches counter3224 behaves like apdex recorded3225 increments the custom search sli apdex3226 pagination3227 returns a different result for each page3228 returns 1 result when per_page is 13229 returns 2 results when per_page is 23230 for notes scope3231 behaves like response is correct3232 is expected to respond with numeric status code ok3233 is expected to match response schema "public_api/v4/notes"3234 is expected to include limited pagination headers3235 is expected to eq 13236 behaves like ping counters3237 increases usage ping searches counter3238 behaves like apdex recorded3239 increments the custom search sli apdex3240 pagination3241 returns a different result for each page3242 returns 1 result when per_page is 13243 returns 2 results when per_page is 23244 for wiki_blobs scope3245 behaves like response is correct3246 is expected to respond with numeric status code ok3247 is expected to match response schema "public_api/v4/blobs"3248 is expected to include limited pagination headers3249 is expected to eq 13250 behaves like ping counters3251 increases usage ping searches counter3252 behaves like apdex recorded3253 increments the custom search sli apdex3254 pagination3255 returns a different result for each page3256 returns 1 result when per_page is 13257 returns 2 results when per_page is 23258 for commits scope3259 behaves like response is correct3260 is expected to respond with numeric status code ok3261 is expected to match response schema "public_api/v4/commits_details"3262 is expected to include limited pagination headers3263 is expected to eq 13264 behaves like pagination3265 returns a different result for each page3266 returns 1 result when per_page is 13267 returns 2 results when per_page is 23268 behaves like ping counters3269 increases usage ping searches counter3270 behaves like apdex recorded3271 increments the custom search sli apdex3272 pipeline visibility3273 with non public pipeline3274 user is project member with reporter role or above3275 behaves like pipeline information visible3276 contains status and last_pipeline3277 user is project member with guest role3278 behaves like pipeline information not visible3279 does not contain status and last_pipeline3280 user is not project member3281 behaves like pipeline information not visible3282 does not contain status and last_pipeline3283 with public pipeline3284 user is project member with reporter role or above3285 behaves like pipeline information visible3286 contains status and last_pipeline3287 user is project member with guest role3288 behaves like pipeline information visible3289 contains status and last_pipeline3290 user is not project member3291 behaves like pipeline information visible3292 contains status and last_pipeline3293 when CI/CD is set to only project members3294 behaves like pipeline information not visible3295 does not contain status and last_pipeline3296 for commits scope with project path as id3297 behaves like response is correct3298 is expected to respond with numeric status code ok3299 is expected to match response schema "public_api/v4/commits_details"3300 is expected to include limited pagination headers3301 is expected to eq 13302 behaves like apdex recorded3303 increments the custom search sli apdex3304 for blobs scope3305 behaves like response is correct3306 is expected to respond with numeric status code ok3307 is expected to match response schema "public_api/v4/blobs"3308 is expected to include limited pagination headers3309 is expected to eq 23310 behaves like pagination3311 returns a different result for each page3312 returns 1 result when per_page is 13313 returns 2 results when per_page is 23314 behaves like ping counters3315 increases usage ping searches counter3316 behaves like apdex recorded3317 increments the custom search sli apdex3318 filters3319 by filename3320 by path3321 by extension3322 by ref3323 behaves like rate limited endpoint3324 when rate limiter enabled3325 logs request and declines it when endpoint called more than the threshold3326 when rate limiter is disabled3327 does not log request and does not block the request3328getting an issue list at root level3329 # order random3330 excludes issues from archived projects3331 behaves like graphql issue list request spec3332 includes a web_url3333 includes discussion locked3334 behaves like a working graphql query3335 returns a successful response3336 filters3337 when filtering by assignees3338 when both assignee_username filters are provided3339 returns a mutually exclusive param error3340 when filtering by a negated argument3341 returns correctly filtered issues3342 when filtering by unioned arguments3343 when filtering by assignees3344 returns correctly filtered issues3345 when filtering by labels3346 returns correctly filtered issues3347 when argument is blank3348 does not raise an error3349 when feature flag is disabled3350 returns an error3351 when filtering by a blank negated argument3352 does not raise an error3353 when filtering by reaction emoji3354 value: "thumbsup", issue_list: lazy { voted_issues }3355 returns correctly filtered issues3356 value: "ANY", issue_list: lazy { voted_issues }3357 returns correctly filtered issues3358 value: "any", issue_list: lazy { voted_issues }3359 returns correctly filtered issues3360 value: "AnY", issue_list: lazy { voted_issues }3361 returns correctly filtered issues3362 value: "NONE", issue_list: lazy { no_award_issues }3363 returns correctly filtered issues3364 value: "thumbsdown", issue_list: lazy { [] }3365 returns correctly filtered issues3366 when filtering by search3367 behaves like query with a search term3368 returns only matching issuables3369 when filtering by confidentiality3370 when fetching confidential issues3371 returns only confidential issues3372 when user cannot see confidential issues3373 returns an empty list3374 when fetching non-confidential issues3375 returns only non-confidential issues3376 when user cannot see confidential issues3377 returns an empty list3378 sorting and pagination3379 when sorting by severity3380 when ascending3381 behaves like sorted paginated query3382 behaves like requires variables3383 shared example requires variables to be set3385 when sorting3386 sorts correctly3387 when paginating3388 paginates correctly3389 when descending3390 behaves like sorted paginated query3391 behaves like requires variables3392 shared example requires variables to be set3394 when sorting3395 sorts correctly3396 when paginating3397 paginates correctly3398 when sorting by priority3399 when ascending3400 behaves like sorted paginated query3401 behaves like requires variables3402 shared example requires variables to be set3404 when sorting3405 sorts correctly3406 when paginating3407 paginates correctly3408 when descending3409 behaves like sorted paginated query3410 behaves like requires variables3411 shared example requires variables to be set3413 when sorting3414 sorts correctly3415 when paginating3416 paginates correctly3417 when sorting by due date3418 when ascending3419 behaves like sorted paginated query3420 behaves like requires variables3421 shared example requires variables to be set3423 when sorting3424 sorts correctly3425 when paginating3426 paginates correctly3427 when descending3428 behaves like sorted paginated query3429 behaves like requires variables3430 shared example requires variables to be set3432 when sorting3433 sorts correctly3434 when paginating3435 paginates correctly3436 when sorting by relative position3437 when ascending3438 behaves like sorted paginated query3439 behaves like requires variables3440 shared example requires variables to be set3442 when sorting3443 sorts correctly3444 when paginating3445 paginates correctly3446 when last and sort params are present3447 fetches last elements without error3448 when sorting by label priority3449 when ascending3450 behaves like sorted paginated query3451 behaves like requires variables3452 shared example requires variables to be set3454 when sorting3455 sorts correctly3456 when paginating3457 paginates correctly3458 when descending3459 behaves like sorted paginated query3460 behaves like requires variables3461 shared example requires variables to be set3463 when sorting3464 sorts correctly3465 when paginating3466 paginates correctly3467 when sorting by milestone due date3468 when ascending3469 behaves like sorted paginated query3470 behaves like requires variables3471 shared example requires variables to be set3473 when sorting3474 sorts correctly3475 when paginating3476 paginates correctly3477 when descending3478 behaves like sorted paginated query3479 behaves like requires variables3480 shared example requires variables to be set3482 when sorting3483 sorts correctly3484 when paginating3485 paginates correctly3486 N+1 query checks3487 when requesting `user_notes_count` and `user_discussions_count`3488 prevents N+1 queries3489 when requesting `merge_requests_count`3490 prevents N+1 queries3491 when requesting `timelogs`3492 prevents N+1 queries3493 when requesting `closed_as_duplicate_of`3494 prevents N+1 queries3495 when award emoji votes3496 prevents N+1 queries3497 when requesting participants3498 prevents N+1 queries3499 when requesting labels3500 prevents N+1 queries3501 when confidential issues exist3502 when user can see confidential issues3503 includes confidential issues3504 when user cannot see confidential issues3505 does not include confidential issues3506 when limiting the number of results3507 is expected to check permissions on the first issue only3508 behaves like a working graphql query3509 returns a successful response3510 only returns N issues3511 when no limit is provided3512 returns all issues3513 when the user does not have access to the issue3514 returns no issues3515 when fetching escalation status3516 returns the escalation status values3517 avoids N+1 queries3518 when fetching alert management alert3519 avoids N+1 queries3520 returns the alert data3521 returns the alerts data3522 when fetching customer_relations_contacts3523 avoids N+1 queries3524 when fetching labels3525 avoids N+1 queries3526 when fetching assignees3527 avoids N+1 queries3528 when selecting `related_merge_requests`3529 limits the field to 1 execution3530 when fetching issues from multiple projects3531 avoids N+1 queries3532 when no filters are provided3533 behaves like query that requires at least one filter3534 requires at least one filter to be provided to the query3535 when only non filter arguments are provided3536 behaves like query that requires at least one filter3537 requires at least one filter to be provided to the query3538 includeArchived filter3539 excludes issues from archived projects3540 when includeArchived is true3541 includes issues from archived projects3542 with rate limiting3543 behaves like rate limited endpoint3544 when rate limiter enabled3545 logs request and declines it when endpoint called more than the threshold3546 when rate limiter is disabled3547 does not log request and does not block the request3548 behaves like rate limited endpoint3549 when rate limiter enabled3550 logs request and declines it when endpoint called more than the threshold3551 when rate limiter is disabled3552 does not log request and does not block the request3553UsersController3554 GET #show3555 when the user exists and has public visibility3556 when logged in3557 behaves like renders the show template3558 renders the show template3559 when logged out3560 behaves like renders the show template3561 renders the show template3562 when public visibility level is restricted3563 when logged out3564 redirects to login page3565 when logged in3566 behaves like renders the show template3567 renders the show template3568 when a user by that username does not exist3569 when logged out3570 redirects to login page3571 when logged in3572 renders 4043573 requested in json format3574 returns 404 with deprecation message3575 GET /users/:username (deprecated user top)3576 redirects to /user13577 GET #activity3578 when the user exists and has public visibility3579 when logged in3580 behaves like renders the show template3581 renders the show template3582 when logged out3583 behaves like renders the show template3584 renders the show template3585 when public visibility level is restricted3586 when logged out3587 redirects to login page3588 when logged in3589 behaves like renders the show template3590 renders the show template3591 when a user by that username does not exist3592 when logged out3593 redirects to login page3594 when logged in3595 renders 4043596 requested in json format3597 when profile_tabs_vue feature flag is turned OFF3598 loads events3599 hides events if the user cannot read cross project3600 hides events if the user has a private profile3601 when profile_tabs_vue feature flag is turned ON3602 loads events3603 hides events if the user cannot read cross project3604 hides events if the user has a private profile3605 hides events if the user has a private profile3606 GET #ssh_keys3607 non existent user3608 does not generally work3609 user with no keys3610 responds the empty body with text/plain content type3611 user with keys3612 while signed in3613 behaves like renders all public keys3614 renders all non-deploy keys terminated with a new line with text/plain content type without the comment key3615 when logged out3616 behaves like renders all public keys3617 renders all non-deploy keys terminated with a new line with text/plain content type without the comment key3618 when public visibility is restricted3619 redirects to sign in3620 GET #gpg_keys3621 non existent user3622 does not generally work3623 user with no keys3624 responds the empty body with text/plain content type3625 user with keys3626 while signed in3627 behaves like renders all verified GPG keys3628 renders all verified keys terminated with a new line with text/plain content type3629 when logged out3630 behaves like renders all verified GPG keys3631 renders all verified keys terminated with a new line with text/plain content type3632 when revoked3633 while signed in3634 behaves like doesn't render revoked keys3635 doesn't render revoked keys3636 when logged out3637 behaves like doesn't render revoked keys3638 doesn't render revoked keys3639 GET #calendar3640 for user3641 with public profile3642 renders calendar3643 with private profile3644 does not render calendar3645 forked project3646 includes forked projects3647 GET #calendar_activities3648 renders activities on the specified day3649 for user3650 with public profile3651 renders calendar_activities3652 renders the correct url for issues and work items3653 avoids N+1 queries3654 with private profile3655 does not render calendar_activities3656 external authorization3657 behaves like disabled when using an external authorization service3658 works when the feature is not enabled3659 renders a 404 with a message when the feature is enabled3660 GET #contributed3661 format: html3662 with public profile3663 behaves like renders contributed projects3664 renders contributed projects3665 does not list projects aimed for deletion3666 with private profile3667 returns 4043668 with a user that has the ability to read private profiles3669 behaves like renders contributed projects3670 renders contributed projects3671 does not list projects aimed for deletion3672 format: json3673 with public profile3674 behaves like renders contributed projects3675 renders contributed projects3676 does not list projects aimed for deletion3677 with private profile3678 returns 4043679 with a user that has the ability to read private profiles3680 behaves like renders contributed projects3681 renders contributed projects3682 does not list projects aimed for deletion3683 GET #starred3684 format: html3685 with public profile3686 behaves like renders starred projects3687 renders starred projects3688 does not list projects aimed for deletion3689 with private profile3690 returns 4043691 with a user that has the ability to read private profiles3692 behaves like renders starred projects3693 renders starred projects3694 does not list projects aimed for deletion3695 format: json3696 with public profile3697 behaves like renders starred projects3698 renders starred projects3699 does not list projects aimed for deletion3700 with private profile3701 returns 4043702 with a user that has the ability to read private profiles3703 behaves like renders starred projects3704 renders starred projects3705 does not list projects aimed for deletion3706 GET #snippets3707 format html3708 renders snippets page3709 format json3710 response with snippets json data3711 external authorization3712 behaves like disabled when using an external authorization service3713 works when the feature is not enabled3714 renders a 404 with a message when the feature is enabled3715 GET #exists3716 when user exists3717 returns JSON indicating the user exists3718 when the casing is different3719 returns JSON indicating the user exists3720 when the user does not exist3721 will not show a signup page if registration is disabled3722 returns JSON indicating the user does not exist3723 when a user changed their username3724 returns JSON indicating a user by that username does not exist3725 when a project has the same name as a desired username3726 returns JSON indicating a user by that username does not exist3727 when the rate limit has been reached3728 returns status 429 Too Many Requests3729 #ensure_canonical_path3730 for a GET request3731 when requesting users at the root path3732 when requesting the canonical path3733 with exactly matching casing3734 responds with success3735 with different casing3736 redirects to the correct casing3737 when requesting a redirected path3738 behaves like redirects to the canonical path3739 redirects to the canonical path3740 when the old path is a substring of the scheme or host3741 behaves like redirects to the canonical path3742 redirects to the canonical path3743 when the old path is substring of users3744 behaves like redirects to the canonical path3745 redirects to the canonical path3746 when requesting users under the /users path3747 when requesting the canonical path3748 with exactly matching casing3749 responds with success3750 with different casing3751 redirects to the correct casing3752 when requesting a redirected path3753 behaves like redirects to the canonical path3754 redirects to the canonical path3755 when the old path is a substring of the scheme or host3756 behaves like redirects to the canonical path3757 redirects to the canonical path3758 when the old path is substring of users3759 behaves like redirects to the canonical path3760 redirects to the canonical path3761 POST #follow3762 when over followee limit3763WARNING: Active Record does not support composite primary key.3764user_follow_users has composite primary key. Composite primary key is ignored.3765 alerts and not follow3766 when user or followee disabled following3767 alerts and not follow if user disabled following3768 alerts and not follow if followee disabled following3769 token authentication3770 behaves like authenticates sessionless user for the request spec3771 show atom3772 when the 'private_token' param is populated with the personal access token3773 when valid token3774 when resource is public3775 authenticates user and returns response with ok status3776 when user with expired password3777 does not authenticate user and returns response with ok status3778 when the personal access token has no api scope3779 when resource is public3780 does not authenticate user and returns response with ok status3781 when invalid token3782 when resource is public3783 does not authenticate user and returns response with ok status3784 when the 'PRIVATE-TOKEN' header is populated with the personal access token3785 when valid token3786 when resource is public3787 authenticates user and returns response with ok status3788 when user with expired password3789 does not authenticate user and returns response with ok status3790 when the personal access token has no api scope3791 when resource is public3792 does not authenticate user and returns response with ok status3793 when invalid token3794 when resource is public3795 does not authenticate user and returns response with ok status3796 when the 'feed_token' param is populated with the feed token3797 when valid token3798 when resource is public3799 authenticates user and returns response with ok status3800 when user with expired password3801 does not authenticate user and returns response with ok status3802 when invalid token3803 when resource is public3804 does not authenticate user and returns response with ok status3805API::Tags3806 GET /projects/:id/repository/tags3807 sorting3808 sorts by descending order by default3809 sorts by ascending order if specified3810 sorts by name in descending order when requested3811 sorts by name in ascending order when requested3812 sorts by version in ascending order when requested3813 searching3814 only returns searched tags3815 when unauthenticated and project is public3816 behaves like repository tags3817 returns the repository tags3818 when repository is disabled3819 behaves like 403 response3820 returns 4033821 when repository does not exist3822 behaves like 404 response3823 returns 4043824 and releases are private3825 returns the repository tags without release information3826 when unauthenticated and project is private3827 behaves like 404 response3828 returns 4043829 when authenticated as a maintainer3830 behaves like repository tags3831 returns the repository tags3832 when repository is disabled3833 behaves like 403 response3834 returns 4033835 when repository does not exist3836 behaves like 404 response3837 returns 4043838 requesting with the escaped project full path3839 behaves like repository tags3840 returns the repository tags3841 when repository is disabled3842 behaves like 403 response3843 returns 4033844 when repository does not exist3845 behaves like 404 response3846 returns 4043847 when authenticated as a guest3848 behaves like 403 response3849 returns 4033850 with releases3851 returns an array of project tags with release info3852 with keyset pagination option3853 with gitaly pagination params3854 with high limit3855 returns all repository tags3856 with low limit3857 returns limited repository tags3858 with missing page token3859 behaves like 422 response3860 returns 4223861 cache expiry3862 is cached3863 when protected tag is changed3864 behaves like cache expired3865 isn't cached3866 when release is changed3867 behaves like cache expired3868 isn't cached3869 when project is changed3870 behaves like cache expired3871 isn't cached3872 when user is not allowed to :read_release3873 isn't cached3874 when gitaly is unavailable3875 behaves like 503 response3876 returns 5033877 GET /projects/:id/repository/tags/:tag_name3878 when unauthenticated and project is public3879 behaves like repository tag3880 returns the repository branch3881 when tag does not exist3882 behaves like 404 response3883 returns 4043884 when repository is disabled3885 behaves like 403 response3886 returns 4033887 and releases are private3888 returns the repository tags without release information3889 when unauthenticated and project is private3890 behaves like 404 response3891 returns 4043892 when authenticated as a maintainer3893 behaves like repository tag3894 returns the repository branch3895 when tag does not exist3896 behaves like 404 response3897 returns 4043898 when repository is disabled3899 behaves like 403 response3900 returns 4033901 requesting with the escaped project full path3902 behaves like repository tag3903 returns the repository branch3904 when tag does not exist3905 behaves like 404 response3906 returns 4043907 when repository is disabled3908 behaves like 403 response3909 returns 4033910 when authenticated as a guest3911 behaves like 403 response3912 returns 4033913 with releases3914 returns release information3915 POST /projects/:id/repository/tags3916 when unauthenticated and project is private3917 behaves like 404 response3918 returns 4043919 when authenticated as a guest3920 behaves like 403 response3921 returns 4033922 when authenticated as a maintainer3923 returns 400 if tag name is invalid3924 returns 400 if tag already exists3925 returns 400 if ref name is invalid3926 when a protected branch doesn't already exist3927 behaves like repository new tag3928 creates a new tag3929 when repository is disabled3930 behaves like 403 response3931 returns 4033932 when tag contains a dot3933 behaves like repository new tag3934 creates a new tag3935 when repository is disabled3936 behaves like 403 response3937 returns 4033938 requesting with the escaped project full path3939 behaves like repository new tag3940 creates a new tag3941 when repository is disabled3942 behaves like 403 response3943 returns 4033944 when tag contains a dot3945 behaves like repository new tag3946 creates a new tag3947 when repository is disabled3948 behaves like 403 response3949 returns 4033950 annotated tag3951 creates a new annotated tag3952 DELETE /projects/:id/repository/tags/:tag_name3953 when authenticated as a maintainer3954 behaves like repository delete tag3955 deletes a tag3956 behaves like 412 response3957 for a modified resource3958 returns 412 with a JSON error3959 for an unmodified resource3960 returns 204 with an empty body3961 when tag does not exist3962 behaves like 404 response3963 returns 4043964 when repository is disabled3965 behaves like 403 response3966 returns 4033967 requesting with the escaped project full path3968 behaves like repository delete tag3969 deletes a tag3970 behaves like 412 response3971 for a modified resource3972 returns 412 with a JSON error3973 for an unmodified resource3974 returns 204 with an empty body3975 when tag does not exist3976 behaves like 404 response3977 returns 4043978 when repository is disabled3979 behaves like 403 response3980 returns 4033981 GET /projects/:id/repository/tags/:tag_name/signature3982 when tag does not exist3983 behaves like 404 response3984 returns 4043985 unsigned tag3986 behaves like 404 response3987 returns 4043988 x509 signed tag3989 returns correct JSON3990Projects::CompareController3991 GET index3992 returns successfully3993 with incorrect parameters3994 returns successfully3995 with missing parameters3996 returns successfully3997 GET show3998 when the refs exist in the same project3999 when we set the white space param4000 shows some diffs with ignore whitespace change option4001 when we do not set the white space param4002 sets the diffs and commits ivars4003 when refs have CI::Pipeline4004 avoids N+1 queries4005 when the refs exist in different projects that the user can see4006 shows the diff4007 when comparing missing commits between source and target4008 when comparing them in the other direction4009 the commits are there4010 with straight mode true4011 the commits are empty, but the removed lines are visible as diffs4012 with straight mode false4013 the additional commits are not visible in diffs and commits4014 when the refs exist in different projects but the user cannot see4015 does not show the diff4016 when the source ref does not exist4017 sets empty diff and commit ivars4018 when the target ref does not exist4019 sets empty diff and commit ivars4020 when the target ref is invalid4021 shows a flash message and redirects4022 when the source ref is invalid4023 shows a flash message and redirects4024 when the both refs are invalid4025 shows a flash message and redirects4026 when page is valid4027 only loads blobs in the current page4028 behaves like valid compare page4029 shows the diff4030 when from_ref is HEAD ref4031 behaves like valid compare page4032 shows the diff4033 when to_ref is HEAD ref4034 behaves like valid compare page4035 shows the diff4036 when page is not valid4037 does not return an error4038 GET diff_for_path4039 when the source and target refs exist in the same project4040 when the user has access target the project4041 when the path exists in the diff4042 disables diff notes4043 only renders the diffs for the path given4044 when the path does not exist in the diff4045 returns a 4044046 when the user does not have access target the project4047 returns a 4044048 when the source and target refs exist in different projects and the user can see4049 shows the diff for that path4050 when the source and target refs exist in different projects and the user cannot see4051 does not show the diff for that path4052 when the source ref does not exist4053 returns a 4044054 when the target ref does not exist4055 returns a 4044056 POST create4057 when sending valid params4058 without a from_project_id4059 redirects to the show page4060 with a from_project_id4061 redirects to the show page without interpreting from_project_id4062 when sending invalid params4063 from_ref: "", to_ref: "", from_project_id: "", expected_redirect_params: {}4064 redirects back to the index4065 from_ref: "main", to_ref: "", from_project_id: "", expected_redirect_params: {:from=>"main"}4066 redirects back to the index4067 from_ref: "", to_ref: "main", from_project_id: "", expected_redirect_params: {:to=>"main"}4068 redirects back to the index4069 from_ref: "", to_ref: "", from_project_id: "1", expected_redirect_params: {:from_project_id=>1}4070 redirects back to the index4071 from_ref: "main", to_ref: "", from_project_id: "1", expected_redirect_params: {:from=>"main", :from_project_id=>1}4072 redirects back to the index4073 from_ref: "", to_ref: "main", from_project_id: "1", expected_redirect_params: {:to=>"main", :from_project_id=>1}4074 redirects back to the index4075 from_ref: ["a"], to_ref: ["b"], from_project_id: ["c"], expected_redirect_params: {}4076 redirects back to the index4077 GET signatures4078 when the source and target refs exist4079 when the user has access to the project4080 returns only the commit with a signature4081 when the user has access to the project with straight compare4082 returns only the commit with a signature4083 when the user does not have access to the project4084 returns a 4044085 when the source ref does not exist4086 returns no signatures4087 when the target ref does not exist4088 returns no signatures4089SearchController4090 authorized user4091 GET #show4092 finds issue comments4093 increments the custom search sli apdex4094 behaves like when the user cannot read cross project4095 blocks access without a project_id4096 allows access with a project_id4097 still allows accessing the search page4098 behaves like with external authorization service enabled4099 renders a 403 when no project is given4100 renders a 200 when a project was set4101 behaves like support for active record query timeouts4102 renders a 408 when a timeout occurs4103 rate limit scope4104 uses current_user and search scope4105 uses just current_user when no search scope is used4106 uses just current_user when search scope is abusive4107 when search_rate_limited_scopes feature flag is disabled4108 uses just current_user4109 uses the right partials depending on scope4110 partial: "_blob", scope: :blobs4111 is expected to render template search/results/_blob4112 partial: "_wiki_blob", scope: :wiki_blobs4113 is expected to render template search/results/_wiki_blob4114 partial: "_commit", scope: :commits4115 is expected to render template search/results/_commit4116 global search4117 when block_anonymous_global_searches is disabled4118 omits pipeline status from load4119 check search term length4120 string_name: :chars_under_limit, expectation: :not_to_set_flash4121 is expected not to should set flash[:alert]4122 string_name: :chars_over_limit, expectation: :set_chars_flash4123 is expected to should set flash[:alert] to a value matching /characters/4124 string_name: :terms_under_limit, expectation: :not_to_set_flash4125 is expected not to should set flash[:alert]4126 string_name: :terms_over_limit, expectation: :set_terms_flash4127 is expected to should set flash[:alert] to a value matching /terms/4128 string_name: :term_length_under_limit, expectation: :not_to_set_flash4129 is expected not to should set flash[:alert]4130 string_name: :term_length_over_limit, expectation: :not_to_set_flash4131 is expected not to should set flash[:alert]4132 string_name: :blank, expectation: :not_to_set_flash4133 is expected not to should set flash[:alert]4134 when block_anonymous_global_searches is enabled4135 for unauthenticated user4136 redirects to login page4137 redirects to login page when trying to circumvent the restriction4138 for authenticated user4139 succeeds4140 handling abusive search_terms4141 succeeds but does NOT do anything4142 tab feature flags4143 feature_flag: :global_search_code_tab, scope: "blobs"4144 returns 200 if flag is enabled4145 redirects with alert if flag is disabled4146 feature_flag: :global_search_issues_tab, scope: "issues"4147 returns 200 if flag is enabled4148 redirects with alert if flag is disabled4149 feature_flag: :global_search_merge_requests_tab, scope: "merge_requests"4150 returns 200 if flag is enabled4151 redirects with alert if flag is disabled4152 feature_flag: :global_search_wiki_tab, scope: "wiki_blobs"4153 returns 200 if flag is enabled4154 redirects with alert if flag is disabled4155 feature_flag: :global_search_commits_tab, scope: "commits"4156 returns 200 if flag is enabled4157 redirects with alert if flag is disabled4158 feature_flag: :global_search_users_tab, scope: "users"4159 returns 200 if flag is enabled4160 redirects with alert if flag is disabled4161 unique users tracking4162 behaves like tracking unique hll events4163 tracks unique event4164 behaves like Snowplow event tracking with RedisHLL context4165 behaves like Snowplow event tracking4166 is emitted4167 on restricted projects4168 doesn't expose comments on merge_requests4169 doesn't expose comments on snippets4170 when signed out4171 doesn't expose comments on issues4172 behaves like rate limited endpoint4173 when rate limiter enabled4174 logs request and declines it when endpoint called more than the threshold4175 when rate limiter is disabled4176 does not log request and does not block the request4177 custom search sli error rate4178 when the search is successful4179 increments the custom search sli error rate with error: false4180 when the search raises an error4181 increments the custom search sli error rate with error: true4182 when something goes wrong before a search is done4183 does not increment the error rate4184 GET #count4185 returns the result count for the given term and scope4186 raises an error if search term is missing4187 raises an error if search scope is missing4188 sets correct cache control headers4189 does NOT blow up if search param is NOT a string4190 does NOT blow up if repository_ref contains abusive characters4191 behaves like when the user cannot read cross project4192 blocks access without a project_id4193 allows access with a project_id4194 behaves like with external authorization service enabled4195 renders a 403 when no project is given4196 renders a 200 when a project was set4197 behaves like support for active record query timeouts4198 renders a 408 when a timeout occurs4199 rate limit scope4200 uses current_user and search scope4201 uses just current_user when search scope is abusive4202 when search_rate_limited_scopes feature flag is disabled4203 uses just current_user4204 behaves like rate limited endpoint4205 when rate limiter enabled4206 logs request and declines it when endpoint called more than the threshold4207 when rate limiter is disabled4208 does not log request and does not block the request4209 GET #autocomplete4210 returns an empty array when given abusive search term4211 can be filtered with params[:filter]4212 makes a call to search_autocomplete_opts4213 sets correct cache control headers4214 behaves like when the user cannot read cross project4215 blocks access without a project_id4216 allows access with a project_id4217 behaves like with external authorization service enabled4218 renders a 403 when no project is given4219 renders a 200 when a project was set4220 behaves like support for active record query timeouts4221 renders a 408 when a timeout occurs4222 rate limit scope4223 uses current_user and search scope4224 uses just current_user when search scope is abusive4225 when search_rate_limited_scopes feature flag is disabled4226 uses just current_user4227 behaves like rate limited endpoint4228 when rate limiter enabled4229 logs request and declines it when endpoint called more than the threshold4230 when rate limiter is disabled4231 does not log request and does not block the request4232 #append_info_to_payload4233 appends search metadata for logging4234 appends the default scope in meta.search.scope4235 appends the search time based on the search4236 abusive searches4237 returns EmptySearchResults4238 unauthorized user4239 search rate limits4240 endpoint: :show, params: {:search=>"hello", :scope=>"projects"}4241 uses request IP as rate limiting scope4242 behaves like rate limited endpoint4243 when rate limiter enabled4244 logs request and declines it when endpoint called more than the threshold4245 when rate limiter is disabled4246 does not log request and does not block the request4247 endpoint: :count, params: {:search=>"hello", :scope=>"projects"}4248 uses request IP as rate limiting scope4249 behaves like rate limited endpoint4250 when rate limiter enabled4251 logs request and declines it when endpoint called more than the threshold4252 when rate limiter is disabled4253 does not log request and does not block the request4254 endpoint: :autocomplete, params: {:term=>"hello", :scope=>"projects"}4255 uses request IP as rate limiting scope4256 behaves like rate limited endpoint4257 when rate limiter enabled4258 logs request and declines it when endpoint called more than the threshold4259 when rate limiter is disabled4260 does not log request and does not block the request4261 GET #opensearch4262 renders xml4263Projects::MergeRequests::DraftsController4264 GET #index4265 list merge request draft notes for current user4266 POST #create4267 creates a draft note4268 creates draft note with position4269 creates a draft note with quick actions4270 without permissions4271 does not allow draft note creation4272 in a thread4273 creates draft note as a reply4274 creates a draft note that will resolve a thread4275 cannot create more than one draft note per thread4276 commit_id is present4277 value is a commit sha4278 creates the draft note with commit ID4279 value is "undefined"4280 creates the draft note with nil commit ID4281 PUT #update4282 updates the draft4283 without permissions4284 does not allow editing draft note belonging to someone else4285 POST #publish4286 publishes draft notes with position4287 does nothing if there are no draft notes4288 publishes a draft note with quick actions and applies them4289 publishes all draft notes for an MR4290 can publish just a single draft note4291 without permissions4292 when note belongs to someone else4293 behaves like action that does not allow publishing draft note4294 does not allow publishing draft note4295 when merge request discussion is locked4296 behaves like action that does not allow publishing draft note4297 does not allow publishing draft note4298 when PublishService errors4299 returns message and 500 response4300 when publishing drafts in a thread4301 resolves a thread if the draft note resolves it4302 unresolves a thread if the draft note unresolves it4303 publish with note4304 creates note4305 does not create note when note param is empty4306 tracks merge request activity4307 approve merge request4308 approves merge request4309 does not approve merge request4310 tracks merge request activity4311 when merge request is already approved by user4312 does return 2004313 DELETE #destroy4314 destroys the draft note when ID is given4315 without permissions4316 does not allow destroying a draft note belonging to someone else4317 without permissions4318 does not allow editing draft note belonging to someone else4319 DELETE #discard4320 deletes all DraftNotes belonging to a user in a Merge Request4321 without permissions4322 does not destroys a draft note belonging to someone else4323Projects::BlobController4324 GET show4325 with file path4326 when the ref is ambiguous4327 and explicitly requesting a branch4328 redirects to blob#show with sha for the branch4329 and explicitly requesting a tag4330 responds with success4331 valid branch, valid file4332 is expected to respond with 2004333 valid branch, invalid file4334 redirects4335 invalid branch, valid file4336 is expected to respond with 4044337 renamed default branch, valid file4338 is expected to redirect to "/namespace351/project-475/-/blob/master/README.md"4339 renamed default branch, invalid file4340 is expected to redirect to "/namespace352/project-476/-/blob/master/invalid-path.rb"4341 binary file4342 is expected to respond with 2004343 Markdown file4344 is expected to respond with 2004345 with file path and JSON format4346 valid branch, valid file4347 is expected to have key "raw_path"4348 with viewer=none4349 is expected to have key "raw_path"4350 with tree path4351 redirect to tree4352 redirects4353 GET diff4354 when essential params are missing4355 renders nothing4356 when essential params are present4357 when rendering for commit4358 renders the diff content4359 when rendering for merge request4360 renders diff context lines Gitlab::Diff::Line array4361 handles full being true4362 GET edit4363 anonymous4364 redirects to sign in and returns4365 as guest4366 redirects to blob show4367 as developer4368 redirects to blob show4369 as maintainer4370 redirects to blob show4371 PUT update4372 redirects to blob4373 ?from_merge_request_iid4374 redirects to MR diff4375 when user doesn't have access4376 redirects to blob4377 when user has forked project4378 when editing on the fork4379 redirects to blob4380 when editing on the original repository4381 redirects to forked project new merge request4382 events tracking4383 behaves like tracking unique hll events4384 tracks unique event4385 behaves like Snowplow event tracking with RedisHLL context4386 behaves like Snowplow event tracking4387 is emitted4388 DELETE destroy4389 for a file in a subdirectory4390 redirects to the sub directory4391 when a validation failure occurs4392 redirects to a valid page4393 if deleted file is the last one in a subdirectory4394 redirects to the project root4395 when deleting a file in a branch other than master4396 redirects to the project root of the branch4397 POST preview4398 is successful4399 POST create4400 redirects to blob4401 behaves like tracking unique hll events4402 tracks unique event4403 behaves like Snowplow event tracking with RedisHLL context4404 behaves like Snowplow event tracking4405 is emitted4406SessionsController4407 #new4408 redirects correctly for referer on same host with params4409 when auto sign-in is enabled4410 and no auto_sign_in param is passed4411 redirects to :omniauth_authorize_path4412 and auto_sign_in=false param is passed4413 responds with 2004414 with LDAP enabled4415 ldap_servers available in helper4416 with sign_in disabled4417 no ldap_servers available in helper4418 behaves like switches to user preferred language4419 with preferred_language in cookies4420 renders new template with cookies preferred language4421 #create4422 behaves like known sign in4423 when the remote IP and the last sign in IP match4424 does not notify the user4425 sets/updates the encrypted cookie4426 when the remote IP and the last sign in IP do not match4427 notifies the user when the cookie is expired4428 notifies the user when the cookie is for another user4429 does not notify the user when remote IP matches an active session4430 does not notify the user when the cookie is present and not expired4431 when the cookie is not previously set4432 notifies the user4433 sets the encrypted cookie4434 when notify_on_unknown_sign_in global setting is false4435 does not notify the user4436 does not set a cookie4437 when using standard authentications4438 invalid password4439 does not authenticate user4440 a blocked user4441 does not authenticate the user4442 a `blocked pending approval` user4443 does not authenticate the user4444 an internal user4445 does not authenticate the user4446 when using valid password4447 authenticates user correctly4448 creates an audit log record4449 creates an authentication event record4450 allows user authenticating from the same ip4451 blocks user authenticating from two distinct ips4452 updates the user activity4453 a deactivated user4454 is allowed to login4455 activates the user4456 shows reactivation flash message after logging in4457 with password authentication disabled4458 does not sign in the user4459 returns status 4034460 with reCAPTCHA4461 when reCAPTCHA is enabled4462 successfully logs in a user when reCAPTCHA is solved4463 when the reCAPTCHA is not solved4464 displays an error4465 sets gon variables4466 when reCAPTCHA login protection is enabled4467 when user tried to login 5 times4468 displays an error when the reCAPTCHA is not solved4469 successfully logs in a user when reCAPTCHA is solved4470 when there are more than 5 anonymous session with the same IP4471 displays an error when the reCAPTCHA is not solved4472 successfully logs in a user when reCAPTCHA is solved4473 when using two-factor authentication via OTP4474 creates an audit log record4475 creates an authentication event record4476 remember_me field4477 sets a remember_user_token cookie when enabled4478 does nothing when disabled4479 with password authentication disabled4480 allows 2FA stage of non-password login4481 when otp_user_id is stale4482 favors login over otp_user_id when password is present and does not authenticate the user4483 when authenticating with login and OTP of another user4484 when another user has 2FA enabled4485 when OTP is valid for another user4486 does not authenticate4487 when OTP is invalid for another user4488 does not authenticate4489 when authenticating with OTP4490 when OTP is valid4491 authenticates correctly4492 when OTP is invalid4493 does not authenticate4494 warns about invalid OTP code4495 sends an email to the user informing about the attempt to sign in with a wrong OTP code4496 when the user is on their last attempt4497 when OTP is valid4498 authenticates correctly4499 when OTP is invalid4500 does not authenticate4501 warns about invalid login4502 locks the user4503 keeps the user locked on future login attempts4504 when rendering devise two factor4505 adds gon variables4506 when using two-factor authentication via WebAuthn device4507 creates an audit log record4508 creates an authentication event record4509 remember_me field4510 sets a remember_user_token cookie when enabled4511 does nothing when disabled4512 when login fails4513 does increment failed login counts for session4514 #set_current_context4515 when signed in4516 sets the username and caller_id in the context4517 when not signed in4518 sets the caller_id in the context4519 when the user becomes locked4520 sets the caller_id in the context4521 #destroy4522 for a user whose password has expired4523 allows to sign out successfully4524package details4525 with unauthorized user4526 returns no packages4527 with access to package registry for everyone4528 `public_package` returns true4529 behaves like a working graphql query4530 returns a successful response4531 matches the JSON schema4532 when project is public4533 `public_package` returns true4534 behaves like a working graphql query4535 returns a successful response4536 matches the JSON schema4537 with authorized user4538 behaves like a working graphql query4539 returns a successful response4540 matches the JSON schema4541 with package without last_downloaded_at4542 matches the JSON schema4543 with package files pending destruction4544 does not return them4545 with a batched query4546 returns an error for the second package and data for the first4547 versions field4548 returns other versions4549 pipelines field4550 loads the second page with pagination first correctly4551 loads the second page with pagination last correctly4552 package managers paths4553 returns npm_url correctly4554 returns maven_url correctly4555 returns conan_url correctly4556 returns nuget_url correctly4557 returns pypi_url correctly4558 returns pypi_setup_url correctly4559 returns composer_url correctly4560 returns composer_config_repository_url correctly4561 with access to package registry for everyone4562 returns pypi_url correctly4563 when project is public4564 returns pypi_url correctly4565 web_path4566 returns web_path correctly4567 with terraform module4568 returns web_path correctly4569 public_package4570 when project is private4571 returns false4572 with access to package registry for everyone4573 returns true4574 when project is public4575 returns true4576 with package that has no default status4577 does not return package's details4578Groups::EmailCampaignsController4579 GET #index4580 track parameter4581 when valid4582 track: :create4583 behaves like track and redirect4584 redirects4585 on SaaS4586 emits a snowplow event4587 does not save the cta_click4588 when not on.com4589 saves the cta_click4590 does not track snowplow events4591 track: :team_short4592 behaves like track and redirect4593 redirects4594 on SaaS4595 emits a snowplow event4596 does not save the cta_click4597 when not on.com4598 saves the cta_click4599 does not track snowplow events4600 track: :trial_short4601 behaves like track and redirect4602 redirects4603 on SaaS4604 emits a snowplow event4605 does not save the cta_click4606 when not on.com4607 saves the cta_click4608 does not track snowplow events4609 track: :admin_verify4610 behaves like track and redirect4611 redirects4612 on SaaS4613 emits a snowplow event4614 does not save the cta_click4615 when not on.com4616 saves the cta_click4617 does not track snowplow events4618 track: :verify4619 behaves like track and redirect4620 redirects4621 on SaaS4622 emits a snowplow event4623 does not save the cta_click4624 when not on.com4625 saves the cta_click4626 does not track snowplow events4627 track: :trial4628 behaves like track and redirect4629 redirects4630 on SaaS4631 emits a snowplow event4632 does not save the cta_click4633 when not on.com4634 saves the cta_click4635 does not track snowplow events4636 track: :team4637 behaves like track and redirect4638 redirects4639 on SaaS4640 emits a snowplow event4641 does not save the cta_click4642 when not on.com4643 saves the cta_click4644 does not track snowplow events4645 when invalid4646 track: nil4647 behaves like no track and 4044648 returns 4044649 does not emit a snowplow event4650 track: "xxxx"4651 behaves like no track and 4044652 returns 4044653 does not emit a snowplow event4654 series parameter4655 when valid4656 series: 04657 behaves like track and redirect4658 redirects4659 on SaaS4660 emits a snowplow event4661 does not save the cta_click4662 when not on.com4663 saves the cta_click4664 does not track snowplow events4665 series: 14666 behaves like track and redirect4667 redirects4668 on SaaS4669 emits a snowplow event4670 does not save the cta_click4671 when not on.com4672 saves the cta_click4673 does not track snowplow events4674 series: 24675 behaves like track and redirect4676 redirects4677 on SaaS4678 emits a snowplow event4679 does not save the cta_click4680 when not on.com4681 saves the cta_click4682 does not track snowplow events4683 when invalid4684 series: -14685 behaves like no track and 4044686 returns 4044687 does not emit a snowplow event4688 series: nil4689 behaves like no track and 4044690 returns 4044691 does not emit a snowplow event4692 series: 34693 behaves like no track and 4044694 returns 4044695 does not emit a snowplow event4696Projects::DiscussionsController4697 GET show4698 when user is not authorized to read the MR4699 returns 4044700 when user is authorized to read the MR4701 returns status 2004702 returns status 404 if MR does not exists4703 when user is authorized but note is LegacyDiffNote4704 returns status 2004705 POST resolve4706 when the user is not authorized to resolve the discussion4707 returns status 4044708 when the user is authorized to resolve the discussion4709 when the discussion is not resolvable4710 returns status 4044711 when the discussion is resolvable4712 resolves the discussion4713 sends notifications if all discussions are resolved4714 returns the name of the resolving user4715 returns status 2004716 renders discussion with serializer4717 diff discussion4718 returns truncated diff lines4719 DELETE unresolve4720 when the user is not authorized to resolve the discussion4721 returns status 4044722 when the user is authorized to resolve the discussion4723 when the discussion is not resolvable4724 returns status 4044725 when the discussion is resolvable4726 unresolves the discussion4727 tracks thread unresolve usage data4728 returns status 2004729 when vue_mr_discussions cookie is present4730 renders discussion with serializer4731Projects::UploadsController4732 behaves like handle uploads4733 behaves like handle uploads authorize4734 POST #authorize4735 when a user is not authorized to upload a file4736 returns 404 status4737 when id is not passed as a param4738 returns 404 status4739 when a user can upload a file4740 and the request bypassed workhorse4741 raises an exception4742 and request is sent by gitlab-workhorse to authorize the request4743 when using local storage4744 behaves like a local file4745 behaves like a valid response4746 responds with status 2004747 uses the gitlab-workhorse content type4748 responds with status 200, location of uploads store and object details4749 when using remote storage4750 when direct upload is enabled4751 behaves like a valid response4752 responds with status 2004753 uses the gitlab-workhorse content type4754 responds with status 200, location of uploads remote store and object details4755 when direct upload is disabled4756 behaves like a local file4757 behaves like a valid response4758 responds with status 2004759 uses the gitlab-workhorse content type4760 responds with status 200, location of uploads store and object details4761 POST #create4762 when a user is not authorized to upload a file4763 returns 404 status4764 when a user can upload a file4765 without params['file']4766 returns an error4767 with valid image4768 returns a content with original filename, new link, and correct type.4769 creates a corresponding Upload record4770 with valid non-image file4771 returns a content with original filename, new link, and correct type.4772 GET #show4773 when the secret is invalid4774 responds with status 4044775 is a working exploit without the validation4776 when accessing a specific upload via different model4777 responds with status 4044778 when the upload does not have a MIME type that Rails knows4779 falls back to the null type4780 when the model is public4781 when not signed in4782 when the file exists4783 responds with status 2004784 when neither the uploader nor the model exists4785 responds with status 4044786 when the file doesn't exist4787 responds with status 4044788 when signed in4789 when the file exists4790 responds with status 2004791 when the file doesn't exist4792 responds with status 4044793 when the model is private4794 when not signed in4795 when the file exists4796 when the file is an image4797 responds with the appropriate status code4798 when the file is not an image4799 redirects to the sign in page4800 when the file doesn't exist4801 redirects to the sign in page4802 when signed in4803 when the user has access to the project4804 when the file exists4805 responds with status 2004806 when the file doesn't exist4807 responds with status 4044808 when the user doesn't have access to the model4809 when the file exists4810 when the file is an image4811 responds with the appropriate status code4812 when the file is not an image4813 responds with status 4044814 when the file doesn't exist4815 responds with status 4044816 when the URL the old style, without /-/system4817 responds with a redirect to the login page4818 with a moved project4819 redirects to a file with the proper extension4820 when exception occurs4821 responds with status internal_server_error4822 GET #show4823 when project is private do4824 when not signed in4825 when the project has setting enforce_auth_checks_on_uploads true4826 responds with status 3024827 when the project has setting enforce_auth_checks_on_uploads false4828 responds with status 2004829 when signed in4830 when the user doesn't have access to the model4831 when the project has setting enforce_auth_checks_on_uploads true4832 responds with status 4044833 when the project has setting enforce_auth_checks_on_uploads false4834 responds with status 2004835 when project is public4836 when not signed in4837 when the project has setting enforce_auth_checks_on_uploads true4838 responds with status 2004839 when the project has setting enforce_auth_checks_on_uploads false4840 responds with status 2004841 when signed in4842 when the user doesn't have access to the model4843 when the project has setting enforce_auth_checks_on_uploads true4844 responds with status 2004845 when the project has setting enforce_auth_checks_on_uploads false4846 responds with status 2004847Projects::ProjectMembersController4848 behaves like controller actions4849 GET index4850 has the project_members address with a 200 status code4851 project members4852 when project belongs to group4853 lists inherited project members by default4854 lists direct project members only4855 lists inherited project members only4856 when project belongs to a sub-group4857 lists inherited project members by default4858 lists direct project members only4859 lists inherited project members only4860 when invited project members are present4861 excludes the invited members from project members list4862 when invited group members are present4863 lists invited group members by default4864 when webui_members_inherited_users is disabled4865 lists only direct members4866 invited members4867 when user has `admin_project_member` permissions4868 lists invited members4869 when user does not have `admin_project_member` permissions4870 does not list invited members4871 access requests4872 when user has `admin_project_member` permissions4873 lists access requests4874 when user does not have `admin_project_member` permissions4875 does not list access requests4876 PUT update4877 access level4878 can change the access level to Guest4879 can change the access level to Reporter4880 can change the access level to Developer4881 can change the access level to Maintainer4882 managing project direct owners4883 when a Maintainer tries to elevate another user to OWNER4884 does not allow the operation4885 when a user with OWNER access tries to elevate another user to OWNER4886 returns success4887 access expiry date4888 when set to a date in the past4889 does not update the member4890 returns error status4891 returns error message4892 when set to a date in the future4893 updates the member4894 expiration date4895 when `expires_at` is set4896 returns correct json response4897 when `expires_at` is not set4898 returns empty json response4899 DELETE destroy4900 when member is not found4901 returns 4044902 when member is found4903 when user does not have enough rights4904 when user does not have rights to manage other members4905 returns 4044906 when user does not have rights to manage Owner members4907 returns 4034908 when user has enough rights4909 [HTML] removes user from members4910 [JS] removes user from members4911 DELETE leave4912 when member is not found4913 returns 4044914 when member is found4915 and is not an owner4916 removes user from members4917 and is an owner4918 cannot remove themselves from the project4919 and is a requester4920 removes user from members4921 POST request_access4922 creates a new ProjectMember that is not a team member4923 POST approve4924 when member is not found4925 returns 4044926 when member is found4927 when user does not have rights to manage other members4928 returns 4044929 when user has enough rights4930 adds user to members4931 POST resend_invite4932 is successful4933VerifiesWithEmail4934 verify_with_email4935 when user is locked and a verification_user_id session variable exists4936 when rate limited and a verification_token param exists4937 adds a verification error message4938 behaves like prompt for email verification4939 sets the verification_user_id session variable and renders the email verification template4940 when an invalid verification_token param exists4941 adds a verification error message4942 behaves like prompt for email verification4943 sets the verification_user_id session variable and renders the email verification template4944 when an expired verification_token param exists4945 adds a verification error message4946 behaves like prompt for email verification4947 sets the verification_user_id session variable and renders the email verification template4948 when a valid verification_token param exists4949 unlocks the user4950 redirects to the successful verification path4951 when not completing identity verification and logging in with another account4952 does not redirect to the successful verification path4953 when signing in with a valid password4954 behaves like not verifying with email4955 when rate limited4956 behaves like two factor prompt or successful login4957 shows the 2FA prompt when enabled or redirects to the root path4958 when the user already has an unlock_token set4959 behaves like two factor prompt or successful login4960 shows the 2FA prompt when enabled or redirects to the root path4961 when the user is signing in from an unknown ip address4962 behaves like two factor prompt or successful login4963 shows the 2FA prompt when enabled or redirects to the root path4964 when the feature flag is toggled on4965 behaves like verifying with email4966 when rate limited4967 behaves like rate limited4968 redirects to the login form and shows an alert message4969 when the user already has an unlock_token set4970 behaves like prompt for email verification4971 sets the verification_user_id session variable and renders the email verification template4972 when the user is already locked4973 behaves like send verification instructions4974 locks the user4975 sends an email4976 behaves like prompt for email verification4977 sets the verification_user_id session variable and renders the email verification template4978 when the user is signing in from an unknown ip address4979 behaves like send verification instructions4980 locks the user4981 sends an email4982 behaves like prompt for email verification4983 sets the verification_user_id session variable and renders the email verification template4984 when the check_ip_address_for_email_verification feature flag is disabled4985 behaves like not verifying with email4986 when rate limited4987 behaves like two factor prompt or successful login4988 shows the 2FA prompt when enabled or redirects to the root path4989 when the user already has an unlock_token set4990 behaves like two factor prompt or successful login4991 shows the 2FA prompt when enabled or redirects to the root path4992 when the user is signing in from an unknown ip address4993 behaves like two factor prompt or successful login4994 shows the 2FA prompt when enabled or redirects to the root path4995 when 2FA is enabled4996 behaves like not verifying with email4997 when rate limited4998 behaves like two factor prompt or successful login4999 shows the 2FA prompt when enabled or redirects to the root path5000 when the user already has an unlock_token set5001 behaves like two factor prompt or successful login5002 shows the 2FA prompt when enabled or redirects to the root path5003 when the user is signing in from an unknown ip address5004 behaves like two factor prompt or successful login5005 shows the 2FA prompt when enabled or redirects to the root path5006 when request is not from a QA user5007 behaves like verifying with email5008 when rate limited5009 behaves like rate limited5010 redirects to the login form and shows an alert message5011 when the user already has an unlock_token set5012 behaves like prompt for email verification5013 sets the verification_user_id session variable and renders the email verification template5014 when the user is already locked5015 behaves like send verification instructions5016 locks the user5017 sends an email5018 behaves like prompt for email verification5019 sets the verification_user_id session variable and renders the email verification template5020 when the user is signing in from an unknown ip address5021 behaves like send verification instructions5022 locks the user5023 sends an email5024 behaves like prompt for email verification5025 sets the verification_user_id session variable and renders the email verification template5026 when the check_ip_address_for_email_verification feature flag is disabled5027 behaves like not verifying with email5028 when rate limited5029 behaves like two factor prompt or successful login5030 shows the 2FA prompt when enabled or redirects to the root path5031 when the user already has an unlock_token set5032 behaves like two factor prompt or successful login5033 shows the 2FA prompt when enabled or redirects to the root path5034 when the user is signing in from an unknown ip address5035 behaves like two factor prompt or successful login5036 shows the 2FA prompt when enabled or redirects to the root path5037 when the skip_require_email_verification feature flag is turned on5038 behaves like not verifying with email5039 when rate limited5040 behaves like two factor prompt or successful login5041 shows the 2FA prompt when enabled or redirects to the root path5042 when the user already has an unlock_token set5043 behaves like two factor prompt or successful login5044 shows the 2FA prompt when enabled or redirects to the root path5045 when the user is signing in from an unknown ip address5046 behaves like two factor prompt or successful login5047 shows the 2FA prompt when enabled or redirects to the root path5048 resend_verification_code5049 when no verification_user_id session variable exists5050 returns 204 No Content5051 when a verification_user_id session variable exists5052 behaves like send verification instructions5053 locks the user5054 sends an email5055 behaves like prompt for email verification5056 sets the verification_user_id session variable and renders the email verification template5057 when exceeding the rate limit5058 does not lock the user5059 does not send an email5060 behaves like prompt for email verification5061 sets the verification_user_id session variable and renders the email verification template5062 successful_verification5063 renders the template and removes the verification_user_id session variable5064getting a package list for a project5065 behaves like group and project packages query5066 when user has access to the resource5067 returns packages successfully5068 deals with metadata5069 returns the count of the packages5070 behaves like a working graphql query5071 returns a successful response5072 _links5073 does not contain the web path of errored package5074 when the user does not have access to the resource5075 returns nil5076 behaves like a working graphql query5077 returns a successful response5078 when the user is not authenticated5079 returns nil5080 behaves like a working graphql query5081 returns a successful response5082 sorting and pagination5083 CREATED_ASC5084 behaves like sorted paginated query5085 behaves like requires variables5086 shared example requires variables to be set5088 when sorting5089 sorts correctly5090 when paginating5091 paginates correctly5092 NAME_ASC5093 behaves like sorted paginated query5094 behaves like requires variables5095 shared example requires variables to be set5097 when sorting5098 sorts correctly5099 when paginating5100 paginates correctly5101 VERSION_ASC5102 behaves like sorted paginated query5103 behaves like requires variables5104 shared example requires variables to be set5106 when sorting5107 sorts correctly5108 when paginating5109 paginates correctly5110 TYPE_ASC5111 behaves like sorted paginated query5112 behaves like requires variables5113 shared example requires variables to be set5115 when sorting5116 sorts correctly5117 when paginating5118 paginates correctly5119 CREATED_DESC5120 behaves like sorted paginated query5121 behaves like requires variables5122 shared example requires variables to be set5124 when sorting5125 sorts correctly5126 when paginating5127 paginates correctly5128 NAME_DESC5129 behaves like sorted paginated query5130 behaves like requires variables5131 shared example requires variables to be set5133 when sorting5134 sorts correctly5135 when paginating5136 paginates correctly5137 VERSION_DESC5138 behaves like sorted paginated query5139 behaves like requires variables5140 shared example requires variables to be set5142 when sorting5143 sorts correctly5144 when paginating5145 paginates correctly5146 TYPE_DESC5147 behaves like sorted paginated query5148 behaves like requires variables5149 shared example requires variables to be set5151 when sorting5152 sorts correctly5153 when paginating5154 paginates correctly5155 with an invalid sort5156 throws an error5157 filtering5158 package_name5159 is expected to contain exactly {"name"=>"bab"}5160 package_type5161 is expected to contain exactly {"name"=>"dab"}5162 status5163 is expected to contain exactly {"name"=>"my/company/app/my-app"}5164 include_versionless5165 is expected to include {"name" => "my/company/app/my-app"}5166 when reading pipelines5167 loads the second page with pagination first correctly5168 loads the second page with pagination last correctly5169maven package details5170 a maven package with version5171 behaves like a package detail5172 behaves like a working graphql query5173 returns a successful response5174 behaves like matching the package details schema5175 matches the JSON schema5176 with pipelines5177 behaves like a working graphql query5178 returns a successful response5179 behaves like matching the package details schema5180 matches the JSON schema5181 behaves like correct maven metadata5182 has the correct metadata5183 behaves like a package with files5184 has the right amount of files5185 has the basic package files data5186 with package files pending destruction5187 does not return them5188 a versionless maven package5189 has an empty version5190 behaves like a package detail5191 behaves like a working graphql query5192 returns a successful response5193 behaves like matching the package details schema5194 matches the JSON schema5195 with pipelines5196 behaves like a working graphql query5197 returns a successful response5198 behaves like matching the package details schema5199 matches the JSON schema5200 behaves like correct maven metadata5201 has the correct metadata5202 behaves like a package with files5203 has the right amount of files5204 has the basic package files data5205 with package files pending destruction5206 does not return them5207get board lists5208 for a project5209 behaves like group and project board list issues query5210 when the user does not have access to the board5211 returns nil5212 when user can read the board5213 can access the issues5214 does not set the relative positions of the issues not being returned5215 when filtering by confidential5216 returns matching issue5217 when filtering by a unioned argument5218 returns correctly filtered issues5219 when feature flag is disabled5220 returns an error5221 for a group5222 behaves like group and project board list issues query5223 when the user does not have access to the board5224 returns nil5225 when user can read the board5226 can access the issues5227 does not set the relative positions of the issues not being returned5228 when filtering by confidential5229 returns matching issue5230 when filtering by a unioned argument5231 returns correctly filtered issues5232 when feature flag is disabled5233 returns an error5234getting group information5235 Query group(fullPath)5236 behaves like a working graphql query5237 returns a successful response5238 when unauthenticated5239 returns nil for a private group5240 returns a public group5241 when authenticated as user5242 returns one of user1's groups5243 does not return a non existing group5244 does not return a group not attached to user15245 avoids N+1 queries (PENDING: See: https://gitlab.com/gitlab-org/gitlab/-/issues/245272)5246 when querying group's descendant groups5247 returns all descendant groups user has access to5248 with timelog categories5249 when user is guest5250 includes empty timelog categories array5251 when user has reporter role5252 returns the timelog category with all its fields5253 when timelog_categories flag is disabled5254 returns no timelog categories5255 for N+1 queries5256 avoids N+1 database queries (PENDING: See: https://gitlab.com/gitlab-org/gitlab/-/issues/369396)5257 when authenticated as admin5258 returns any existing group5259 does not return a non existing group5260Projects::AutocompleteSourcesController5261 GET commands5262 with a public project5263 with an issue5264 behaves like issuable commands5265 returns empty array when no user logged in5266 raises an error when no target type specified5267 returns an array of commands5268 with work items5269 behaves like issuable commands5270 returns empty array when no user logged in5271 raises an error when no target type specified5272 returns an array of commands5273 with merge request5274 behaves like issuable commands5275 returns empty array when no user logged in5276 raises an error when no target type specified5277 returns an array of commands5278 GET labels5279 with issues5280 behaves like label commands5281 raises an error when no target type specified5282 returns an array of labels5283 with work items5284 behaves like label commands5285 raises an error when no target type specified5286 returns an array of labels5287 GET members5288 when logged in5289 returns 400 when no target type specified5290 with issue5291 behaves like all members are returned5292 returns an array of member object5293 with work item5294 behaves like all members are returned5295 returns an array of member object5296 when anonymous5297 with issue5298 behaves like private project is inaccessible5299 redirects to login page for private project5300 behaves like only public members are returned for public project5301 only returns public members5302 with work item5303 behaves like private project is inaccessible5304 redirects to login page for private project5305 behaves like only public members are returned for public project5306 only returns public members5307 GET milestones5308 lists milestones5309 when user cannot read project issues and merge requests5310 renders 4045311 GET contacts5312 when feature flag is enabled5313 when a group has contact relations enabled5314 when a user can read contacts5315 lists contacts5316 when a user can not read contacts5317 renders 4045318 when a group has contact relations disabled5319 renders 4045320API::ResourceMilestoneEvents5321 when eventable is an Issue5322 behaves like resource_milestone_events API5323 GET /projects/:id/issues/:noteable_id/resource_milestone_events5324 returns an array of resource milestone events5325 returns a 404 error when eventable id not found5326 returns 404 when not authorized5327 when there is an event with a milestone which is not visible for requesting user5328 returns the expected events5329 GET /projects/:id/issues/:noteable_id/resource_milestone_events/:event_id5330 returns a resource milestone event by id5331 returns 404 when not authorized5332 returns a 404 error if resource milestone event not found5333 pagination5334 returns the second page5335 when eventable is a Merge Request5336 behaves like resource_milestone_events API5337 GET /projects/:id/merge_requests/:noteable_id/resource_milestone_events5338 returns an array of resource milestone events5339 returns a 404 error when eventable id not found5340 returns 404 when not authorized5341 when there is an event with a milestone which is not visible for requesting user5342 returns the expected events5343 GET /projects/:id/merge_requests/:noteable_id/resource_milestone_events/:event_id5344 returns a resource milestone event by id5345 returns 404 when not authorized5346 returns a 404 error if resource milestone event not found5347 pagination5348 returns the second page5349API::Ci::SecureFiles5350 GET /projects/:id/secure_files5351 ci_secure_files_read_only feature flag5352 when the flag is enabled5353 returns a 503 when attempting to upload a file5354 returns a 200 when downloading a file5355 when the feature is disabled at the instance level5356 returns a 403 when attempting to upload a file5357 returns a 403 when downloading a file5358 when the flag is disabled5359 returns a 201 when uploading a file when the ci_secure_files_read_only feature flag is disabled5360 authenticated user with admin permissions5361 returns project secure files5362 authenticated user with read permissions5363 returns project secure files5364 authenticated user with guest permissions5365 does not return project secure files5366 authenticated user with no permissions5367 does not return project secure files5368 unconfirmed user5369 does not return project secure files5370 unauthenticated user5371 does not return project secure files5372 GET /projects/:id/secure_files/:secure_file_id5373 authenticated user with admin permissions5374 returns project secure file details5375 returns project secure file details with metadata when supported5376 responds with 404 Not Found if requesting non-existing secure file5377 authenticated user with read permissions5378 returns project secure file details5379 authenticated user with no permissions5380 does not return project secure file details5381 unconfirmed user5382 does not return project secure file details5383 unauthenticated user5384 does not return project secure file details5385 GET /projects/:id/secure_files/:secure_file_id/download5386 authenticated user with admin permissions5387 returns a secure file5388 responds with 404 Not Found if requesting non-existing secure file5389 authenticated user with read permissions5390 returns a secure file5391 authenticated user with no permissions5392 does not return project secure file details5393 unconfirmed user5394 does not return project secure file details5395 unauthenticated user5396 does not return project secure file details5397 POST /projects/:id/secure_files5398 authenticated user with admin permissions5399 creates a secure file5400 uploads and downloads a secure file5401 returns an error when the file checksum fails to validate5402 returns an error when no file is uploaded5403 returns an error when the file name is missing5404 returns an error when the file name has already been used5405 returns an error when an unexpected validation failure happens5406 returns a 413 error when the file size is too large5407 returns an error when and invalid file name is supplied5408 authenticated user with read permissions5409 does not create a secure file5410 authenticated user with no permissions5411 does not create a secure file5412 unconfirmed user5413 does not create a secure file5414 unauthenticated user5415 does not create a secure file5416 DELETE /projects/:id/secure_files/:secure_file_id5417 authenticated user with admin permissions5418 deletes the secure file5419 responds with 404 Not Found if requesting non-existing secure_file5420 authenticated user with read permissions5421 does not delete the secure_file5422 authenticated user with no permissions5423 does not delete the secure_file5424 unconfirmed user5425 does not delete the secure_file5426 unauthenticated user5427 does not delete the secure_file5428API::Admin::BatchedBackgroundMigrations5429 GET /admin/batched_background_migrations/:id5430 fetches the batched background migration5431 behaves like GET request permissions for admin mode5432 behaves like when admin5433 behaves like makes request5434 returns5435 behaves like makes request5436 returns5437 behaves like when user5438 returns5439 behaves like makes request5440 returns5441 when the batched background migration does not exist5442 returns 4045443 when multiple database is enabled5444 uses the correct connection5445 when migration has completed jobs5446 calculates the progress using the CI database5447 when the database name does not exist5448 returns bad request5449 GET /admin/batched_background_migrations5450 behaves like GET request permissions for admin mode5451 behaves like when admin5452 behaves like makes request5453 returns5454 behaves like makes request5455 returns5456 behaves like when user5457 returns5458 behaves like makes request5459 returns5460 when is an admin user5461 returns batched background migrations5462 when multiple database is enabled5463 when CI database is provided5464 uses CI database connection5465 returns CI database records5466 when the database name does not exist5467 returns bad request5468 PUT /admin/batched_background_migrations/:id/resume5469 pauses the batched background migration5470 behaves like PUT request permissions for admin mode5471 behaves like when admin5472 behaves like makes request5473 returns5474 behaves like makes request5475 returns5476 behaves like when user5477 returns5478 behaves like makes request5479 returns5480 when the batched background migration does not exist5481 returns 4045482 when the migration is not paused5483 returns 4225484 when multiple database is enabled5485 uses the correct connection5486 when the database name does not exist5487 returns bad request5488 PUT /admin/batched_background_migrations/:id/pause5489 pauses the batched background migration5490 behaves like PUT request permissions for admin mode5491 behaves like when admin5492 behaves like makes request5493 returns5494 behaves like makes request5495 returns5496 behaves like when user5497 returns5498 behaves like makes request5499 returns5500 when the batched background migration does not exist5501 returns 4045502 when the migration is not active5503 returns 4225504 when multiple database is enabled5505 uses the correct connection5506 when the database name does not exist5507 returns bad request5508Projects::Releases::EvidencesController5509 GET #show5510 when the user is a developer5511 returns the correct evidence summary as a json5512 when the release was created before evidence existed5513 behaves like not found5514 renders 4045515 when the user is a guest for the project5516 when the project is private5517 behaves like not found5518 renders 4045519 when the project is public5520 behaves like successful request5521 renders a 2005522 when release is associated to a milestone which includes an issue5523 when user is non-project member5524 behaves like does not show the issue in evidence5525 is expected to eq true5526 when project is private5527 behaves like evidence not found5528 is expected to respond with numeric status code not_found5529 when project restricts the visibility of issues to project members only5530 behaves like evidence not found5531 is expected to respond with numeric status code not_found5532 when user is auditor5533 behaves like does not show the issue in evidence5534 is expected to eq true5535 when project is private5536 behaves like does not show the issue in evidence5537 is expected to eq true5538 when project restricts the visibility of issues to project members only5539 behaves like does not show the issue in evidence5540 is expected to eq true5541 when external authorization control is enabled5542 behaves like evidence not found5543 is expected to respond with numeric status code not_found5544Projects::Registry::RepositoriesController5545 when user has access to registry5546 GET #index5547 behaves like renders a list of repositories5548 when root container repository exists5549 does not create root container repository5550 when root container repository is not created5551 when there are tags for this repository5552 creates a root container repository5553 behaves like renders 200 for html and 404 for json5554 successfully renders container repositories5555 returns 404 for request in json format5556 when there is a ContainerRegistry::Path::InvalidRegistryPathError5557 displays a connection error message5558 when there is a Faraday::Error5559 displays a connection error message5560 when there are no tags for this repository5561 does not ensure root container repository5562 behaves like renders 200 for html and 404 for json5563 successfully renders container repositories5564 returns 404 for request in json format5565 when there is a ContainerRegistry::Path::InvalidRegistryPathError5566 displays a connection error message5567 when there is a Faraday::Error5568 displays a connection error message5569 GET #show5570 behaves like renders a list of repositories5571 when root container repository exists5572 does not create root container repository5573 when root container repository is not created5574 when there are tags for this repository5575 creates a root container repository5576 behaves like renders 200 for html and 404 for json5577 successfully renders container repositories5578 returns 404 for request in json format5579 when there is a ContainerRegistry::Path::InvalidRegistryPathError5580 displays a connection error message5581 when there is a Faraday::Error5582 displays a connection error message5583 when there are no tags for this repository5584 does not ensure root container repository5585 behaves like renders 200 for html and 404 for json5586 successfully renders container repositories5587 returns 404 for request in json format5588 when there is a ContainerRegistry::Path::InvalidRegistryPathError5589 displays a connection error message5590 when there is a Faraday::Error5591 displays a connection error message5592 DELETE #destroy5593 when root container repository exists5594 marks the repository as delete_scheduled5595 tracks the event5596 when user does not have access to registry5597 GET #index5598 responds with 4045599 does not ensure root container repository5600API::ErrorTracking::ProjectSettings5601 # order random5602 PATCH /projects/:id/error_tracking/settings5603 when authenticated as maintainer5604 updates enabled flag5605 with integrated_error_tracking feature enabled5606 behaves like returns project settings5607 returns correct project settings5608 with integrated_error_tracking feature disabled5609 behaves like returns project settings with false for integrated5610 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"}5611 when active is invalid5612 returns active is invalid if non boolean5613 when active is empty5614 returns 4005615 with integrated param5616 when integrated_error_tracking feature enabled5617 updates the integrated flag5618 without a project setting5619 behaves like returns no project settings5620 returns no project settings5621 when ::Projects::Operations::UpdateService responds with an error5622 when integrated5623 behaves like returns error from UpdateService5624 returns errors5625 without integrated5626 behaves like returns error from UpdateService5627 returns errors5628 when authenticated as developer5629 behaves like returns 4035630 rejects request5631 when authenticated as non-member5632 behaves like returns 4045633 rejects request5634 when unauthenticated5635 behaves like returns 4015636 rejects request5637 GET /projects/:id/error_tracking/settings5638 when authenticated as maintainer5639 behaves like returns project settings5640 returns correct project settings5641 when integrated_error_tracking feature disabled5642 behaves like returns project settings with false for integrated5643 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"}5644 without a project setting5645 behaves like returns no project settings5646 returns no project settings5647 when authenticated as developer5648 behaves like returns 4035649 rejects request5650 when authenticated as non-member5651 behaves like returns 4045652 rejects request5653 when unauthenticated5654 behaves like returns 4015655 rejects request5656 PUT /projects/:id/error_tracking/settings5657 when authenticated5658 as maintainer5659 when integrated5660 with existing setting5661 updates a setting5662 without setting5663 creates a setting5664 when ::Projects::Operations::UpdateService responds with an error5665 behaves like returns error from UpdateService5666 returns errors5667 when integrated_error_tracking feature disabled5668 behaves like returns 4045669 rejects request5670 when integrated param is invalid5671 behaves like returns 400 with `integrated` param required or invalid5672 returns 4005673 when integrated param is missing5674 behaves like returns 400 with `integrated` param required or invalid5675 returns 4005676 as developer5677 behaves like returns 4035678 rejects request5679 as non-member5680 behaves like returns 4045681 rejects request5682 when unauthorized5683 behaves like returns 4015684 rejects request5685deleting designs5686 the designs list is empty5687 behaves like a failed request5688 reports an error5689 the designs list contains filenames we cannot find5690 behaves like a failed request5691 reports an error5692 the current user does not have developer access5693 behaves like a failed request5694 reports an error5695 when the issue does not exist5696 behaves like a failed request5697 reports an error5698 when saving the designs raises an error5699 responds with errors5700 one of the designs is already deleted5701 reports an error5702 when the user names designs to delete5703 deletes the designs5704 has no errors5705Projects::CycleAnalyticsController5706 includes GracefulTimeoutHandling5707 counting page views for 'show'5708 increases the counter5709 tracking visits to html page5710 behaves like tracking unique visits5711 tracks unique visit if the format is HTML5712 tracks unique visit if DNT is not enabled5713 does not track unique visit if DNT is enabled5714 does not track unique visit if the format is JSON5715 behaves like Snowplow event tracking with RedisHLL context5716 behaves like Snowplow event tracking5717 is emitted5718Dashboard::TodosController5719 GET #index5720 project authorization5721 renders 404 when user does not have read access on given project5722 renders 404 when given project does not exists5723 renders 200 when filtering for "any project" todos5724 renders 200 when user has access on given project5725 with render_views5726 avoids N+1 queries5727 group authorization5728 renders 404 when user does not have read access on given group5729 behaves like paginated collection5730 renders a page number that is not ouf of range5731 redirects to last_page if page number is larger than number of pages5732 does not redirect to external sites when provided a host field5733 when providing no filters5734 does not perform a query to get the page count, but gets that from the user5735 when providing filters5736 performs a query to get the correct page count5737 returns directly addressed if filtering by mentioned action_id5738 when filtering by type Issue5739 also includes work item todos5740 external authorization5741 behaves like disabled when using an external authorization service5742 works when the feature is not enabled5743 renders a 404 with a message when the feature is enabled5744 PATCH #restore5745 restores the todo to pending state5746 PATCH #bulk_restore5747 restores the todos to pending state5748API::Keys5749 GET /keys/:uid5750 behaves like GET request permissions for admin mode5751 behaves like when admin5752 behaves like makes request5753 returns5754 behaves like makes request5755 returns5756 behaves like when user5757 returns5758 behaves like makes request5759 returns5760 when unauthenticated5761 returns authentication error5762 when authenticated5763 returns 404 for non-existing key5764 returns single ssh key with user information5765 does not include the user's `is_admin` flag5766 GET /keys?fingerprint=5767 returns authentication error5768 behaves like GET request permissions for admin mode5769 behaves like when admin5770 behaves like makes request5771 returns5772 behaves like makes request5773 returns5774 behaves like when user5775 returns5776 behaves like makes request5777 returns5778 when authenticated as admin5779 returns 404 for non-existing SSH sha256 fingerprint5780 returns user if SSH sha256 fingerprint found5781 returns user if SSH sha256 fingerprint found5782 does not include the user's `is_admin` flag5783 MD5 fingerprint5784 returns 404 for non-existing SSH md5 fingerprint5785 returns user if SSH md5 fingerprint found5786 with FIPS mode5787 returns 404 for non-existing SSH md5 fingerprint5788 returns 404 for existing SSH md5 fingerprint5789 when searching a DeployKey5790 returns user and projects if SSH sha256 fingerprint for DeployKey found5791Removing an AwardEmoji5792 when the current_user does not own the award emoji5793 behaves like a mutation that does not authorize the user5794 behaves like a mutation that does not destroy an AwardEmoji5795 is expected not to change `AwardEmoji.count`5796 behaves like a mutation that returns a top-level access error5797 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"5798 when the current_user owns the award emoji5799 when the given awardable is not an Awardable5800 behaves like a mutation that does not destroy an AwardEmoji5801 is expected not to change `AwardEmoji.count`5802 behaves like a mutation that returns top-level errors5803 is expected to include /was provided invalid value for awardableId/5804 when the given awardable is an Awardable5805 removes the emoji5806 returns no errors5807 returns an empty awardEmoji5808sentry errors requests5809 getting a detailed sentry error5810 returns a successful response5811 when data is loading via reactive cache5812 is expected to return an empty error5813 when reactive cache returns data5814 is expected to return the frequency correctly5815 behaves like setting sentry error data5816 sets the sentry error data correctly5817 when user does not have permission5818 is expected to return an empty error5819 when sentry api returns an error5820 is expected to handle the error and return nil5821 getting an errors list5822 behaves like a working graphql query5823 returns a successful response5824 when data is loading via reactive cache5825 is expected to return nil5826 when reactive cache returns data5827 is expected to return an array of data5828 sets the pagination correctly5829 is expected to return the frequency correctly5830 behaves like setting sentry error data5831 sets the sentry error data correctly5832 when sentry api itself errors out5833 is expected to handle the error and return nil5834 getting a stack trace5835 behaves like a working graphql query5836 returns a successful response5837 when data is loading via reactive cache5838 is expected to return an empty error5839 when reactive cache returns data5840 behaves like setting stack trace error5841 sets the stack trace data correctly5842 sets the stack trace entry data correctly5843 when user does not have permission5844 is expected to return an empty error5845 when sentry api returns an error5846 is expected to handle the error and return nil5847getting group members information5848 when a member is invited only via email5849 returns null in the user field5850 when the request is correct5851 returns group members successfully5852 behaves like a working graphql query5853 returns a successful response5854 search argument5855 returns members that match the search query5856 when paginating5857 returns correct results5858 when requesting member's notification email5859 when current_user is admin5860 returns notification email5861 when current_user is not admin5862 returns an error5863 by access levels5864 by owner5865 returns owner5866 by maintainer5867 returns maintainer5868 by owner and maintainer5869 returns owner and maintainer5870 member relations5871 returns direct members5872 returns invited members and inherited members of a shared group5873 returns invited members and inherited members of an ancestor of a shared group5874 returns direct and inherited members5875 returns direct, inherited, and descendant members5876 returns an error for an invalid member relation5877 when unauthenticated5878 returns visible members5879Mutations::Metrics::Dashboard::Annotations::Create5880 is expected to require graphql authorizations :admin_metrics_dashboard_annotation5881 when annotation source is environment5882 when the user does not have permission5883 does not create the annotation5884 behaves like a mutation that returns top-level errors5885 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"5886 when the user has permission5887 creates the annotation5888 returns the created annotation5889 when environment_id is missing5890 behaves like a mutation that returns top-level errors5891 is expected to contain exactly "Either a cluster or environment global id is required"5892 when environment_id is invalid5893 behaves like an invalid argument to the mutation5894 behaves like a mutation that returns top-level errors5895 is expected to contain exactly (include "invalid value for environmentId")5896 when metrics dashboard feature is unavailable5897 behaves like a mutation that returns top-level errors5898 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"5899 when annotation source is cluster5900 with permission5901 creates the annotation5902 returns the created annotation5903 when cluster_id is missing5904 behaves like a mutation that returns top-level errors5905 is expected to contain exactly "Either a cluster or environment global id is required"5906 without permission5907 does not create the annotation5908 behaves like a mutation that returns top-level errors5909 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"5910 when cluster_id is invalid5911 behaves like an invalid argument to the mutation5912 behaves like a mutation that returns top-level errors5913 is expected to contain exactly (include "invalid value for clusterId")5914 when both environment_id and cluster_id are provided5915 behaves like a mutation that returns top-level errors5916 is expected to contain exactly "Either a cluster or environment global id is required"5917 when environment_id is given an ID of the wrong type5918 behaves like an invalid argument to the mutation5919 behaves like a mutation that returns top-level errors5920 is expected to contain exactly (include "invalid value for environmentId")5921 when cluster_id is given an ID of the wrong type5922 behaves like an invalid argument to the mutation5923 behaves like a mutation that returns top-level errors5924 is expected to contain exactly (include "invalid value for clusterId")5925API::SidekiqMetrics5926 GET sidekiq/*5927 defines the `queue_metrics` endpoint5928 defines the `process_metrics` endpoint5929 defines the `job_stats` endpoint5930 defines the `compound_metrics` endpoint5931 behaves like GET request permissions for admin mode5932 behaves like when admin5933 behaves like makes request5934 returns5935 behaves like makes request5936 returns5937 behaves like when user5938 returns5939 behaves like makes request5940 returns5941 behaves like GET request permissions for admin mode5942 behaves like when admin5943 behaves like makes request5944 returns5945 behaves like makes request5946 returns5947 behaves like when user5948 returns5949 behaves like makes request5950 returns5951 behaves like GET request permissions for admin mode5952 behaves like when admin5953 behaves like makes request5954 returns5955 behaves like makes request5956 returns5957 behaves like when user5958 returns5959 behaves like makes request5960 returns5961 behaves like GET request permissions for admin mode5962 behaves like when admin5963 behaves like makes request5964 returns5965 behaves like makes request5966 returns5967 behaves like when user5968 returns5969 behaves like makes request5970 returns5971GroupTree5972 GET #index5973 behaves like returns filtered groups5974 filters groups5975 for subgroups5976 only renders root groups when no parent was given5977 contains only the subgroup when a parent was given5978 allows filtering for subgroups and includes the parents for rendering5979 does not include groups the user does not have access to5980 preloads parents regardless of pagination5981 json content5982 shows groups as json5983 nested groups5984 expands the tree when filtering5985getting a tree in a project5986 when path does not exist5987 returns empty tree5988 returns null commit5989 when ref does not exist5990 returns empty tree5991 returns null commit5992 when ref and path exist5993 returns tree5994 returns blobs, subtrees and submodules inside tree5995 returns tree latest commit5996 when the ref points to a gpg-signed commit with a user5997 returns the expected signature data5998 when the ref points to a X.509-signed commit5999 returns the expected signature data6000 returns expected certificate data6001 when the ref points to a SSH-signed commit6002 returns the expected signature data6003 when current user is nil6004 returns empty project6005Import::FogbugzController6006 POST #callback6007 attempts to contact Fogbugz server6008 preserves namespace_id query param on success6009 redirects to new page maintaining namespace_id when client raises standard error6010 redirects to new page form when client raises authentication exception6011 verify url6012 when host is localhost6013 does not allow requests6014 when host is on local network6015 does not allow requests6016 when host is ftp protocol6017 does not allow requests6018 POST #create_user_map6019 stores the user map in the session6020 preserves namespace_id query param6021 GET status6022 redirects to new page form when client is invalid6023 behaves like import controller status6024 returns variables for json request6025 when format is html6026 when namespace_id is present6027 when user cannot import projects6028 returns 4046029 when user can import projects6030 returns 2006031 POST create6032 returns the new project6033 returns an error when service reports an error6034 behaves like project import rate limiter6035 when limit exceeds6036 notifies and redirects user6037Emails::Pipelines6038 #pipeline_success_email6039 behaves like correct pipeline information6040 has a correct information6041 when pipeline on master branch has a merge request6042 has correct information that there is no merge request link6043 when pipeline for merge requests6044 has correct information that there is a merge request link6045 when branch pipeline is set to a merge request as a head pipeline6046 has correct information that there is a merge request link6047 behaves like only accepts a single recipient6048 raises an ArgumentError6049 #pipeline_failed_email6050 behaves like correct pipeline information6051 has a correct information6052 when pipeline on master branch has a merge request6053 has correct information that there is no merge request link6054 when pipeline for merge requests6055 has correct information that there is a merge request link6056 when branch pipeline is set to a merge request as a head pipeline6057 has correct information that there is a merge request link6058 behaves like only accepts a single recipient6059 raises an ArgumentError6060 #pipeline_fixed_email6061 behaves like correct pipeline information6062 has a correct information6063 when pipeline on master branch has a merge request6064 has correct information that there is no merge request link6065 when pipeline for merge requests6066 has correct information that there is a merge request link6067 when branch pipeline is set to a merge request as a head pipeline6068 has correct information that there is a merge request link6069 behaves like only accepts a single recipient6070 raises an ArgumentError6071API::Internal::Pages6072 GET /internal/pages/status6073 responds with 401 Unauthorized6074 responds with 204 no content6075 GET /internal/pages6076 when not authenticated6077 responds with 401 Unauthorized6078 when authenticated6079 when domain does not exist6080 responds with 204 no content6081 when querying a custom domain6082 when there are no pages deployed for the related project6083 responds with 204 No Content6084 when there are pages deployed for the related project6085 domain lookup is case insensitive6086 responds with the correct domain configuration6087 when querying a unique domain6088 when there are no pages deployed for the related project6089 responds with 204 No Content6090 when there are pages deployed for the related project6091 domain lookup is case insensitive6092 responds with the correct domain configuration6093 when the feature flag is disabled6094 when there are no pages deployed for the related project6095 responds with 204 No Content6096 when the unique domain is disabled6097 when there are no pages deployed for the related project6098 responds with 204 No Content6099 when querying a namespaced domain6100 when there are no pages deployed for the related project6101 responds with 204 No Content6102 when there are pages deployed for the related project6103 avoids N+1 queries6104 with a regular project6105 responds with the correct domain configuration6106 with a group root project6107 responds with the correct domain configuration6108Admin::BroadcastMessagesController6109 GET #index6110 renders index template6111 POST /preview6112 renders preview html6113 POST #create6114 when format json6115 persists the message and returns ok on success6116 does not persist the message on failure6117 when format html6118 persists the message and redirects to broadcast_messages on success6119 does not persist and renders the index page on failure6120 PATCH #update6121 when format json6122 persists the message and returns ok on success6123 does not persist the message on failure6124 when format html6125 persists the message and redirects to broadcast_messages on success6126 does not persist and renders the edit page on failure6127Getting starredProjects of the user6128 anonymous access6129 returns nothing6130 the current user is the user6131 found all projects6132 behaves like a working graphql query6133 returns a successful response6134 the current user is a member of a private project the user starred6135 finds public and member projects6136 the user has a private profile6137 the current user does not have access to view the private profile of the user6138 finds no projects6139 the current user has access to view the private profile of the user6140 finds all projects starred by the user, which the current user has access to6141rendering namespace statistics6142 behaves like a working namespace with storage statistics query6143 includes the packages size if the user can read the statistics6144 includes uploads size if the user can read the statistics6145 behaves like a working graphql query6146 returns a successful response6147 when the namespace is a group6148 behaves like a working namespace with storage statistics query6149 includes the packages size if the user can read the statistics6150 includes uploads size if the user can read the statistics6151 behaves like a working graphql query6152 returns a successful response6153 when the namespace is public6154 hides statistics for unauthenticated requests6155bin/diagnostic-reports-uploader6156 # order random6157 starts successfully6158Projects::GroupLinksController6159 #update6160 when `expires_at` is set6161 returns correct json response6162 when `expires_at` is not set6163 returns empty json response6164 #destroy6165 when user is group owner6166 when user is not project maintainer6167 deletes the project group link and redirects to group show page6168 when user is a project maintainer6169 deletes the project group link and redirects to group show page6170 when user is not a group owner6171 when user is a project maintainer6172 behaves like success response6173 deletes the project group link6174 when user is not a project maintainer6175 renders 4046176Projects::FeatureFlagsUserListsController6177 GET #index6178 redirects when the user is unauthenticated6179 returns not found if the user does not belong to the project6180 returns not found for a reporter6181 renders the new page for a developer6182 GET #new6183 redirects when the user is unauthenticated6184 returns not found if the user does not belong to the project6185 returns not found for a reporter6186 renders the new page for a developer6187 GET #edit6188 renders the edit page for a developer6189 returns not found with an iid that does not exist6190 returns not found for a list belonging to a another project6191 GET #show6192 renders the page for a developer6193 returns not found with an iid that does not exist6194 returns not found for a list belonging to a another project6195ChaosController6196 #leakmem6197 calls synchronously6198 call synchronously with params6199 calls asynchronously6200 #cpu_spin6201 calls synchronously6202 calls synchronously with params6203 calls asynchronously6204 #db_spin6205 calls synchronously6206 calls synchronously with params6207 calls asynchronously6208 #sleep6209 calls synchronously6210 calls synchronously with params6211 calls asynchronously6212 #kill6213 calls synchronously6214 calls asynchronously6215 #quit6216 calls synchronously6217 calls asynchronously6218 #gc6219 runs a full GC on the current web worker6220API::ErrorTracking::ClientKeys6221 GET /projects/:id/error_tracking/client_keys6222 behaves like endpoint with authorization6223 when unauthenticated6224 is expected to respond with numeric status code unauthorized6225 when authenticated as non-maintainer6226 is expected to respond with numeric status code forbidden6227 when authenticated as maintainer6228 returns client keys6229 POST /projects/:id/error_tracking/client_keys6230 behaves like endpoint with authorization6231 when unauthenticated6232 is expected to respond with numeric status code unauthorized6233 when authenticated as non-maintainer6234 is expected to respond with numeric status code forbidden6235 when authenticated as maintainer6236 returns a newly created client key6237 DELETE /projects/:id/error_tracking/client_keys/:key_id6238 behaves like endpoint with authorization6239 when unauthenticated6240 is expected to respond with numeric status code unauthorized6241 when authenticated as non-maintainer6242 is expected to respond with numeric status code forbidden6243 when authenticated as maintainer6244 returns a correct status6245 returns specific fields using the entity6246ConfirmationsController6247 #show6248 when signup info is required6249 does not redirect6250 user is already confirmed6251 renders `new`6252 displays an error message6253 does not display the email of the user6254 sets the username and caller_id in the context6255 user accesses the link after the expiry of confirmation token has passed6256 renders `new`6257 displays an error message6258 does not display the email of the user6259 sets the username and caller_id in the context6260 with an invalid confirmation token6261 renders `new`6262 displays an error message6263 sets the the caller_id in the context6264 #create6265 when signup info is required6266 does not redirect6267 when `email_confirmation_setting` is set to `soft`6268 when reCAPTCHA is disabled6269 successfully sends password reset when reCAPTCHA is not solved6270 when reCAPTCHA is enabled6271 successfully sends password reset when reCAPTCHA is solved6272 when the reCAPTCHA is not solved6273 displays an error6274 sets gon variables6275 when `email_confirmation_setting` is not set to `soft`6276 redirects to the users_almost_there path6277API::Admin::Sidekiq6278 DELETE /admin/sidekiq/queues/:queue_name6279 when the user is an admin6280 valid request6281 returns info about the deleted jobs6282 behaves like DELETE request permissions for admin mode6283 behaves like when admin6284 behaves like makes request6285 returns6286 behaves like makes request6287 returns6288 behaves like when user6289 returns6290 behaves like makes request6291 returns6292 when no required params are provided6293 returns a 4006294 when the queue does not exist6295 returns a 4046296Projects::GoogleCloud::ConfigurationController6297 when accessed by unauthorized members6298 returns not found on GET request6299 when accessed by authorized members6300 returns successful6301 but gitlab instance is not configured for google oauth26302 returns forbidden6303 but feature flag is disabled6304 returns not found6305 but google oauth2 token is not valid6306 does not return revoke oauth url6307Projects::Harbor::ArtifactsController6308 behaves like a harbor artifacts controller6309 GET #index.json6310 with harbor registry feature flag enabled6311 behaves like responds with 200 status with json6312 renders the index template6313 with harbor registry feature flag disabled6314 behaves like responds with 404 status6315 returns 4046316 with anonymous user6317 behaves like responds with 302 status6318 returns 3026319 with unauthorized user6320 behaves like responds with 404 status6321 returns 4046322 with valid params6323 with valid repository6324 behaves like responds with 200 status with json6325 renders the index template6326 with valid page6327 behaves like responds with 200 status with json6328 renders the index template6329 with valid limit6330 behaves like responds with 200 status with json6331 renders the index template6332 with invalid params6333 with invalid page6334 behaves like responds with 422 status with json6335 returns 4226336 with invalid limit6337 behaves like responds with 422 status with json6338 returns 4226339Repositioning an ImageDiffNote6340 updates the note6341 when the note is not a DiffNote6342 behaves like a mutation that returns top-level errors6343 is expected to include /does not represent an instance of DiffNote/6344 when a position arg is nil6345 does not set the property to nil6346 when all position args are nil6347 behaves like a mutation that returns top-level errors6348 is expected to include /At least one property of `UpdateDiffImagePositionInput` must be set/6349Projects::ReleasesController6350 GET #downloads6351 filepath redirection6352 valid filepath6353 redirects to the asset direct link6354 redirects with a status of 3026355 invalid filepath6356 is not found6357 sessionless download authentication6358 will allow sessionless users to download the file6359 invalid filepath6360 cannot create an invalid filepath6361Dashboard::LabelsController6362 #index6363 returns labels with unique titles for projects the user has a relationship with6364 behaves like disabled when using an external authorization service6365 works when the feature is not enabled6366 renders a 404 with a message when the feature is enabled6367Query.project(fullPath).ciConfigVariables(ref)6368 # order random6369 when the user has the correct permissions6370 when the cache is not empty6371 returns the CI variables for the config6372 when the cache is empty6373 returns nothing6374 when the user is not authorized6375 returns nothing6376API::ProjectStatistics6377 GET /projects/:id/statistics6378 returns the fetch statistics of the last 30 days6379 excludes the fetch statistics older than 30 days6380 responds with 403 when the user is not a reporter of the repository6381Project.ci_access_authorized_agents6382 # order random6383 with project authorization6384 returns the authorized agent6385 when user is developer in the agent management project6386 returns the project information as well6387 when user is reporter6388 returns nothing6389 with group authorization6390 returns the authorized agent6391 when user is developer in the agent management project6392 returns the project information as well6393 when user is reporter6394 returns nothing6395 when deployment project is not authorized to ci_access to the agent6396 returns empty6397Projects::ErrorTracking::ProjectsController6398 GET #index6399 with insufficient permissions6400 returns 4046401 with an anonymous user6402 redirects to sign-in page6403 with authorized user6404 when service result is successful6405 returns a list of projects6406 with service result is erroneous6407 without http_status6408 returns 400 with message6409 with explicit http_status6410 returns http_status with message6411API::DependencyProxy6412 DELETE /groups/:id/dependency_proxy/cache6413 with a group id6414 behaves like responding to purge requests6415 with feature available and enabled6416 an admin user6417 deletes the blobs and returns no content6418 a non-admin6419 behaves like returning response status6420 returns forbidden6421 depencency proxy is not enabled in the config6422 behaves like returning response status6423 returns not_found6424 with an url encoded group id6425 behaves like responding to purge requests6426 with feature available and enabled6427 an admin user6428 deletes the blobs and returns no content6429 a non-admin6430 behaves like returning response status6431 returns forbidden6432 depencency proxy is not enabled in the config6433 behaves like returning response status6434 returns not_found6435Todo Query6436 when requesting user is todo owner6437 is expected to include {"id" => "gid://gitlab/Todo/30"}6438 when todo target is WorkItem6439 works with a WorkItem target6440 when requesting user is not todo owner6441 is expected to be nil6442 when unauthenticated6443 is expected to be nil6444API::Internal::Lfs6445 GET /internal/lfs6446 with invalid auth6447 returns 4016448 with valid auth6449 LFS in local storage6450 sends the file6451 delegates sending to Web server6452 retuns 404 for unknown file6453 returns 404 if LFS object does not belong to project6454 LFS in object storage6455 notifies Workhorse to send the file6456Content Security Policy6457 GET #explore6458 snowplow is enabled6459 adds the snowplow collector hostname to the CSP6460 snowplow is enabled but host is not configured6461 behaves like snowplow is not in the CSP6462 does not add the snowplow collector hostname to the CSP6463 snowplow is disabled6464 behaves like snowplow is not in the CSP6465 does not add the snowplow collector hostname to the CSP6466Users::UnsubscribesController6467 show6468 responds with success6469 behaves the same if email address isn't known in the system6470 create6471 unsubscribes the connected user6472 behaves the same if email address isn't known in the system6473UserAchievements6474 # order random6475 returns all non_revoked user_achievements6476 can lookahead to eliminate N+1 queries6477 when the achievements feature flag is disabled6478 is expected to be empty6479 behaves like a working graphql query6480 returns a successful response6481Projects::Packages::PackageFilesController6482 # order random6483 GET download6484 sends the package file6485 behaves like bumping the package last downloaded at field6486 bumps last_downloaded_at6487Query.project(fullPath).inheritedCiVariables6488 # order random6489 when user is not a project maintainer6490 returns nothing6491 when user is a project maintainer6492 returns the project's CI variables inherited from its parent group and ancestors6493 avoids N+1 database queries6494Creating an incident timeline event6495 # order random6496 creates incident timeline event6497 when timeline event tags are passed6498 creates incident timeline event with tags6499 when note is more than 280 characters long6500 behaves like timeline event mutation responds with validation error6501 responds with a validation error6502Projects::Settings::MergeRequestsController6503 # order random6504 GET show6505 renders show with 200 status code6506 #update6507 updates Fast Forward Merge attributes6508Oauth::AuthorizationsController6509 GET #new6510 when application redirect URI has a custom scheme6511 when CSP is disabled6512 does not add a CSP6513 when CSP contains form-action6514 adds custom scheme to CSP form-action6515 when CSP does not contain form-action6516 does not add form-action to the CSP6517Admin::IntegrationsController6518 GET #edit6519 when remove_monitor_metrics is true6520 renders a 404 for the prometheus integration6521 GET #overrides6522 format html6523 renders6524 format json6525 returns the project overrides data6526JobArtifactsDestroy6527 # order random6528 destroys the job artifacts and returns the expected data6529 returns an error if the user is not allowed to destroy the job artifacts6530Create a todo6531 the user is not allowed to create todo6532 behaves like a mutation that returns a top-level access error6533 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"6534 when user has permissions to create todo6535 creates todo6536Groups::DependencyProxiesController6537 GET #show6538 with global config enabled6539 with the setting enabled6540 returns 200 and renders the view6541 with the setting disabled6542 behaves like returning response status6543 returns not_found6544 with global config disabled6545 behaves like returning response status6546 returns not_found6547ConfigureSastIac6548 when authorized6549 creates a branch with sast iac configured6550Admin::PlanLimitsController6551 POST create6552 with an authenticated admin user6553 updates the plan limits6554 when pipeline_hierarchy_size is passed in params6555 updates the pipeline_hierarchy_size plan limit6556 without admin access6557 returns `not_found`6558Import::GithubGroupsController6559 # order random6560 GET status6561 when OAuth config is missing6562 returns missing config error6563 when OAuth config present6564 fetches organizations6565 with pagination6566 when no page is specified6567 requests first page6568 when page is specified6569 responds with organizations with specified page6570JiraConnect::PublicKeysController6571 # order random6572 GET /-/jira_connect/public_keys/:uuid6573 renders 4046574 when public key exists6575 renders 2006576 when public key storage setting disabled6577 renders 4046578Projects::PipelinesSettingsController6579 GET show6580 redirects with 302 status code6581Projects::UploadsController6582 # order random6583 behaves like uploads actions6584 GET #show6585 with file traversal in filename parameter6586 responds with status 4006587Admin::HealthCheckController6588 GET show6589 loads the health information6590Analytics::CycleAnalytics::ValueStreamActions6591 # order random6592 #namespace6593 raises NotImplementedError6594Knapsack report was generated. Preview:6595{6596 "spec/mailers/notify_spec.rb": 331.88011390199995,6597 "spec/requests/api/discussions_spec.rb": 201.74345353800004,6598 "spec/controllers/projects/merge_requests_controller_spec.rb": 157.23507560000007,6599 "spec/requests/api/search_spec.rb": 114.54211233799992,6600 "spec/requests/api/graphql/issues_spec.rb": 77.76551862299993,6601 "spec/requests/users_controller_spec.rb": 69.88097972999981,6602 "spec/requests/api/tags_spec.rb": 80.04975880100005,6603 "spec/controllers/projects/compare_controller_spec.rb": 40.68632754699979,6604 "spec/controllers/search_controller_spec.rb": 37.40934679500015,6605 "spec/controllers/projects/merge_requests/drafts_controller_spec.rb": 56.84910289599998,6606 "spec/controllers/projects/blob_controller_spec.rb": 50.244005976999915,6607 "spec/controllers/sessions_controller_spec.rb": 25.98884720000001,6608 "spec/requests/api/graphql/packages/package_spec.rb": 29.37169957900005,6609 "spec/requests/groups/email_campaigns_controller_spec.rb": 16.504524186000026,6610 "spec/controllers/projects/discussions_controller_spec.rb": 27.700021642000138,6611 "spec/controllers/projects/uploads_controller_spec.rb": 23.09437931100001,6612 "spec/controllers/projects/project_members_controller_spec.rb": 16.105761124999844,6613 "spec/requests/verifies_with_email_spec.rb": 15.501600107000058,6614 "spec/requests/api/graphql/project/packages_spec.rb": 13.888340599000003,6615 "spec/requests/api/graphql/packages/maven_spec.rb": 16.04318231000002,6616 "spec/requests/api/graphql/boards/board_list_issues_query_spec.rb": 14.400807586999917,6617 "spec/requests/api/graphql/group_query_spec.rb": 15.539555912999958,6618 "spec/controllers/projects/autocomplete_sources_controller_spec.rb": 8.572539262999953,6619 "spec/requests/api/resource_milestone_events_spec.rb": 12.002761790000022,6620 "spec/requests/api/ci/secure_files_spec.rb": 5.718262708999873,6621 "spec/requests/api/admin/batched_background_migrations_spec.rb": 6.490638321999995,6622 "spec/controllers/projects/releases/evidences_controller_spec.rb": 15.933422383999869,6623 "spec/controllers/projects/registry/repositories_controller_spec.rb": 6.244598862999965,6624 "spec/requests/api/error_tracking/project_settings_spec.rb": 7.081844624000041,6625 "spec/requests/api/graphql/mutations/design_management/delete_spec.rb": 8.739280405999807,6626 "spec/controllers/projects/cycle_analytics_controller_spec.rb": 8.055560056999866,6627 "spec/controllers/dashboard/todos_controller_spec.rb": 7.3494574619999185,6628 "spec/requests/api/keys_spec.rb": 4.690064486999972,6629 "spec/requests/api/graphql/mutations/award_emojis/remove_spec.rb": 6.109171909999986,6630 "spec/requests/api/graphql/project/error_tracking/sentry_errors_request_spec.rb": 5.1291414970000915,6631 "spec/requests/api/graphql/group/group_members_spec.rb": 5.464093430000048,6632 "spec/requests/api/graphql/mutations/metrics/dashboard/annotations/create_spec.rb": 5.004445417999932,6633 "spec/requests/api/sidekiq_metrics_spec.rb": 3.596021968000059,6634 "spec/controllers/concerns/group_tree_spec.rb": 6.481773821000161,6635 "spec/requests/api/graphql/project/tree/tree_spec.rb": 6.474724301000151,6636 "spec/controllers/import/fogbugz_controller_spec.rb": 4.4945466019999,6637 "spec/mailers/emails/pipelines_spec.rb": 5.068225112999926,6638 "spec/requests/api/internal/pages_spec.rb": 3.5751405689998137,6639 "spec/requests/admin/broadcast_messages_controller_spec.rb": 3.204917578000277,6640 "spec/requests/api/graphql/user/starred_projects_query_spec.rb": 3.622038187000271,6641 "spec/requests/api/graphql/namespace/root_storage_statistics_spec.rb": 2.9433068309999726,6642 "spec/commands/diagnostic_reports/uploader_smoke_spec.rb": 6.42282777399987,6643 "spec/controllers/projects/group_links_controller_spec.rb": 3.393269729000167,6644 "spec/controllers/projects/feature_flags_user_lists_controller_spec.rb": 3.3676485299997694,6645 "spec/controllers/chaos_controller_spec.rb": 1.151051200999973,6646 "spec/requests/api/error_tracking/client_keys_spec.rb": 3.5359472410000308,6647 "spec/controllers/confirmations_controller_spec.rb": 2.998753206999936,6648 "spec/requests/api/admin/sidekiq_spec.rb": 1.5385249320002004,6649 "spec/requests/projects/google_cloud/configuration_controller_spec.rb": 3.897061322999889,6650 "spec/requests/projects/harbor/artifacts_controller_spec.rb": 4.111503091000031,6651 "spec/requests/api/graphql/mutations/notes/reposition_image_diff_note_spec.rb": 2.1632074009999087,6652 "spec/requests/projects/releases_controller_spec.rb": 2.9066316029998234,6653 "spec/controllers/dashboard/labels_controller_spec.rb": 1.2851248440001655,6654 "spec/requests/api/graphql/ci/config_variables_spec.rb": 1.6660566750001635,6655 "spec/requests/api/project_statistics_spec.rb": 1.4907345149999855,6656 "spec/requests/api/graphql/project/ci_access_authorized_agents_spec.rb": 2.3312205619999986,6657 "spec/controllers/projects/error_tracking/projects_controller_spec.rb": 1.1572155520002525,6658 "spec/requests/api/dependency_proxy_spec.rb": 2.144689580999966,6659 "spec/requests/api/graphql/todo_query_spec.rb": 1.9802183000001605,6660 "spec/requests/api/internal/lfs_spec.rb": 1.04320819700024,6661 "spec/requests/content_security_policy_spec.rb": 0.9056132740001885,6662 "spec/controllers/users/unsubscribes_controller_spec.rb": 0.8782786450001367,6663 "spec/requests/api/graphql/achievements/user_achievements_query_spec.rb": 1.9527607310001258,6664 "spec/requests/projects/packages/package_files_controller_spec.rb": 0.6691298269997787,6665 "spec/requests/api/graphql/ci/inherited_ci_variables_spec.rb": 1.5922029600001224,6666 "spec/requests/api/graphql/mutations/incident_management/timeline_event/create_spec.rb": 1.6278553369998008,6667 "spec/controllers/projects/settings/merge_requests_controller_spec.rb": 1.591962459000115,6668 "spec/requests/oauth/authorizations_controller_spec.rb": 1.7214034019998508,6669 "spec/requests/admin/integrations_controller_spec.rb": 1.4975157639996723,6670 "spec/requests/api/graphql/mutations/ci/job/destroy_spec.rb": 1.328457773000082,6671 "spec/requests/api/graphql/mutations/todos/create_spec.rb": 1.3093113340000855,6672 "spec/controllers/groups/dependency_proxies_controller_spec.rb": 0.9960174190000544,6673 "spec/requests/api/graphql/mutations/security/ci_configuration/configure_sast_iac_spec.rb": 1.2758046059998378,6674 "spec/controllers/admin/plan_limits_controller_spec.rb": 0.8018826490001629,6675 "spec/requests/import/github_groups_controller_spec.rb": 0.7878977000000305,6676 "spec/requests/jira_connect/public_keys_controller_spec.rb": 0.9817330300002141,6677 "spec/controllers/projects/pipelines_settings_controller_spec.rb": 0.7729556210001647,6678 "spec/requests/projects/uploads_controller_spec.rb": 0.5519116620002933,6679 "spec/controllers/admin/health_check_controller_spec.rb": 0.6142875890000141,6680 "spec/controllers/concerns/analytics/cycle_analytics/value_stream_actions_spec.rb": 0.2893180549999676681}6682Knapsack global time execution for tests: 27m 35s6683Pending: (Failures listed here are expected and do not affect your suite's status)6684 1) getting group information Query group(fullPath) when authenticated as user avoids N+1 queries6686 Failure/Error:6687 expect { post_multiplex(queries, current_user: admin) }6688 .to issue_same_number_of_queries_as { post_graphql(group_query(group1), current_user: admin) }6689 Expected 91 queries, but got 1576690 SELECT "personal_access_tokens".* FROM "personal_access_tokens" WHERE "personal_access_tokens"."token_digest" = 'Ki/gy6Yjk8zvKM1YjmtjJ+jPTiwIMwo6FbMkARaInX0=' LIMIT 1 /*application:test,correlation_id:b538db1dd15c0c7be729be877762e0f4,db_config_name:main,line:/app/models/concerns/token_authenticatable_strategies/digest.rb:12:in `find_token_authenticatable'*/6691 SAVEPOINT active_record_3 /*application:test,correlation_id:b538db1dd15c0c7be729be877762e0f4,db_config_name:main,line:/ee/app/models/license.rb:82:in `load_license'*/6692 INSERT INTO "personal_access_tokens" ("user_id", "name", "expires_at", "created_at", "updated_at", "scopes", "token_digest") VALUES (1864, 'PAT 828', '2023-07-08', '2023-06-08 20:05:31.526730', '2023-06-08 20:05:31.526730', '---6693 - api6694 ', '+87QU/NVwEXDC6M4bicELTb8tpM/o+TdfdK54xSZZMY=') RETURNING "id" /*application:test,correlation_id:b538db1dd15c0c7be729be877762e0f4,db_config_name:main,line:<internal:kernel>:90:in `tap'*/6695 RELEASE SAVEPOINT active_record_3 /*application:test,correlation_id:b538db1dd15c0c7be729be877762e0f4,db_config_name:main,line:<internal:kernel>:90:in `tap'*/6696 SELECT "personal_access_tokens".* FROM "personal_access_tokens" WHERE "personal_access_tokens"."token_digest" = '+87QU/NVwEXDC6M4bicELTb8tpM/o+TdfdK54xSZZMY=' LIMIT 1 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/app/models/concerns/token_authenticatable_strategies/digest.rb:12:in `find_token_authenticatable'*/6697 SELECT 1 AS one FROM "geo_nodes" LIMIT 1 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/ee/lib/gitlab/geo.rb:94:in `block in enabled?'*/6698 UPDATE "personal_access_tokens" SET "last_used_at" = '2023-06-08 20:05:31.570899' WHERE "personal_access_tokens"."id" = 828 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/app/services/personal_access_tokens/last_used_service.rb:15:in `execute'*/6699 SELECT "users".* FROM "users" WHERE "users"."id" = 1864 LIMIT 1 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/lib/gitlab/auth/auth_finders.rb:132:in `find_user_from_web_access_token'*/6700 SELECT "namespaces"."id" AS t0_r0, "namespaces"."name" AS t0_r1, "namespaces"."path" AS t0_r2, "namespaces"."owner_id" AS t0_r3, "namespaces"."created_at" AS t0_r4, "namespaces"."updated_at" AS t0_r5, "namespaces"."type" AS t0_r6, "namespaces"."description" AS t0_r7, "namespaces"."avatar" AS t0_r8, "namespaces"."membership_lock" AS t0_r9, "namespaces"."share_with_group_lock" AS t0_r10, "namespaces"."visibility_level" AS t0_r11, "namespaces"."request_access_enabled" AS t0_r12, "namespaces"."ldap_sync_status" AS t0_r13, "namespaces"."ldap_sync_error" AS t0_r14, "namespaces"."ldap_sync_last_update_at" AS t0_r15, "namespaces"."ldap_sync_last_successful_update_at" AS t0_r16, "namespaces"."ldap_sync_last_sync_at" AS t0_r17, "namespaces"."description_html" AS t0_r18, "namespaces"."lfs_enabled" AS t0_r19, "namespaces"."parent_id" AS t0_r20, "namespaces"."shared_runners_minutes_limit" AS t0_r21, "namespaces"."repository_size_limit" AS t0_r22, "namespaces"."require_two_factor_authentication" AS t0_r23, "namespaces"."two_factor_grace_period" AS t0_r24, "namespaces"."cached_markdown_version" AS t0_r25, "namespaces"."project_creation_level" AS t0_r26, "namespaces"."runners_token" AS t0_r27, "namespaces"."file_template_project_id" AS t0_r28, "namespaces"."saml_discovery_token" AS t0_r29, "namespaces"."runners_token_encrypted" AS t0_r30, "namespaces"."custom_project_templates_group_id" AS t0_r31, "namespaces"."auto_devops_enabled" AS t0_r32, "namespaces"."extra_shared_runners_minutes_limit" AS t0_r33, "namespaces"."last_ci_minutes_notification_at" AS t0_r34, "namespaces"."last_ci_minutes_usage_notification_level" AS t0_r35, "namespaces"."subgroup_creation_level" AS t0_r36, "namespaces"."emails_disabled" AS t0_r37, "namespaces"."max_pages_size" AS t0_r38, "namespaces"."max_artifacts_size" AS t0_r39, "namespaces"."mentions_disabled" AS t0_r40, "namespaces"."default_branch_protection" AS t0_r41, "namespaces"."unlock_membership_to_ldap" AS t0_r42, "namespaces"."max_personal_access_token_lifetime" AS t0_r43, "namespaces"."push_rule_id" AS t0_r44, "namespaces"."shared_runners_enabled" AS t0_r45, "namespaces"."allow_descendants_override_disabled_shared_runners" AS t0_r46, "namespaces"."traversal_ids" AS t0_r47, "namespaces"."organization_id" AS t0_r48, "routes"."id" AS t1_r0, "routes"."source_id" AS t1_r1, "routes"."source_type" AS t1_r2, "routes"."path" AS t1_r3, "routes"."created_at" AS t1_r4, "routes"."updated_at" AS t1_r5, "routes"."name" AS t1_r6, "routes"."namespace_id" AS t1_r7 FROM "namespaces" LEFT OUTER JOIN "routes" ON "routes"."source_type" = 'Namespace' AND "routes"."source_id" = "namespaces"."id" WHERE "namespaces"."type" = 'Group' AND ((LOWER(routes.path) = LOWER('group121')) OR (LOWER(routes.path) = LOWER('group122'))) /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/lib/gitlab/graphql/loaders/full_path_model_loader.rb:23:in `block in find'*/6701 SELECT "saml_providers".* FROM "saml_providers" WHERE "saml_providers"."group_id" = 2651 LIMIT 1 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/ee/app/models/ee/group.rb:358:in `block in root_saml_provider'*/6702 SELECT "namespaces".* FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND "namespaces"."id" = 2651 LIMIT 1 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/app/models/project.rb:2184:in `visibility_level_allowed_by_group?'*/6703 SELECT "namespaces".* FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND "namespaces"."id" = 2651 LIMIT 16704 SELECT "namespaces".* FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND "namespaces"."id" = 2651 LIMIT 16705 SELECT "uploads".* FROM "uploads" WHERE "uploads"."uploader" = 'AvatarUploader' AND "uploads"."path" IN ('uploads/-/system/group/avatar/2651/banana_sample.gif', 'group/avatar/2651/banana_sample.gif') ORDER BY "uploads"."id" ASC LIMIT 1000 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/app/models/concerns/avatarable.rb:119:in `block in retrieve_upload_from_batch'*/6706 SELECT "custom_emoji".* FROM "custom_emoji" WHERE "custom_emoji"."namespace_id" = 2651 ORDER BY "custom_emoji"."id" DESC LIMIT 101 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/lib/gitlab/graphql/pagination/keyset/connection.rb:122:in `block in limited_nodes'*/6707 SELECT "group_crm_settings".* FROM "group_crm_settings" WHERE "group_crm_settings"."group_id" = 2651 LIMIT 1 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/app/models/group.rb:887:in `crm_enabled?'*/6708 SELECT "issues".* FROM "issues" INNER JOIN "projects" ON "projects"."id" = "issues"."project_id" LEFT JOIN project_features ON projects.id = project_features.project_id WHERE "projects"."namespace_id" = 2651 AND (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 1864 AND (project_authorizations.project_id = projects.id)) OR projects.visibility_level IN (0,10,20)) AND ("project_features"."issues_access_level" > 0 OR "project_features"."issues_access_level" IS NULL) AND "projects"."archived" = FALSE ORDER BY "issues"."created_at" DESC, "issues"."id" DESC LIMIT 101 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/lib/gitlab/graphql/pagination/keyset/connection.rb:122:in `block in limited_nodes'*/6709 SELECT SUM("issues"."weight") FROM "issues" INNER JOIN "projects" ON "projects"."id" = "issues"."project_id" LEFT JOIN project_features ON projects.id = project_features.project_id WHERE "projects"."namespace_id" = 2651 AND (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 1864 AND (project_authorizations.project_id = projects.id)) OR projects.visibility_level IN (0,10,20)) AND ("project_features"."issues_access_level" > 0 OR "project_features"."issues_access_level" IS NULL) AND "projects"."archived" = FALSE /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/ee/app/graphql/ee/types/issue_connection_type.rb:19:in `weight'*/6710 SELECT COUNT(*) FROM "issues" INNER JOIN "projects" ON "projects"."id" = "issues"."project_id" LEFT JOIN project_features ON projects.id = project_features.project_id WHERE "projects"."namespace_id" = 2651 AND (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 1864 AND (project_authorizations.project_id = projects.id)) OR projects.visibility_level IN (0,10,20)) AND ("project_features"."issues_access_level" > 0 OR "project_features"."issues_access_level" IS NULL) AND "projects"."archived" = FALSE /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/app/graphql/types/countable_connection_type.rb:20:in `count'*/6711 SELECT "merge_requests".* FROM "merge_requests" INNER JOIN "projects" ON "projects"."id" = "merge_requests"."target_project_id" LEFT JOIN project_features ON projects.id = project_features.project_id WHERE "projects"."namespace_id" = 2651 AND (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 1864 AND (project_authorizations.project_id = projects.id)) OR projects.visibility_level IN (0,10,20)) AND ("project_features"."merge_requests_access_level" > 0 OR "project_features"."merge_requests_access_level" IS NULL) AND "projects"."archived" = FALSE ORDER BY "merge_requests"."created_at" DESC, "merge_requests"."id" DESC LIMIT 101 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/lib/gitlab/graphql/pagination/keyset/connection.rb:122:in `block in limited_nodes'*/6712 SELECT EXTRACT(epoch FROM SUM(AGE(merge_request_metrics.merged_at, merge_request_metrics.created_at))) FROM "merge_requests" INNER JOIN "projects" ON "projects"."id" = "merge_requests"."target_project_id" INNER JOIN "merge_request_metrics" ON "merge_request_metrics"."merge_request_id" = "merge_requests"."id" LEFT JOIN project_features ON projects.id = project_features.project_id WHERE "projects"."namespace_id" = 2651 AND (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 1864 AND (project_authorizations.project_id = projects.id)) OR projects.visibility_level IN (0,10,20)) AND ("project_features"."merge_requests_access_level" > 0 OR "project_features"."merge_requests_access_level" IS NULL) AND "projects"."archived" = FALSE AND "merge_requests"."target_project_id" = "merge_request_metrics"."target_project_id" AND "merge_request_metrics"."merged_at" > "merge_request_metrics"."created_at" LIMIT 1 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/app/models/merge_request.rb:473:in `total_time_to_merge'*/6713 SELECT COUNT(*) FROM "merge_requests" INNER JOIN "projects" ON "projects"."id" = "merge_requests"."target_project_id" LEFT JOIN project_features ON projects.id = project_features.project_id WHERE "projects"."namespace_id" = 2651 AND (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 1864 AND (project_authorizations.project_id = projects.id)) OR projects.visibility_level IN (0,10,20)) AND ("project_features"."merge_requests_access_level" > 0 OR "project_features"."merge_requests_access_level" IS NULL) AND "projects"."archived" = FALSE /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/app/graphql/types/countable_connection_type.rb:20:in `count'*/6714 SELECT "milestones".* FROM ((SELECT "milestones".* FROM "milestones" WHERE 1=0)6715 UNION ALL6716 (SELECT "milestones".* FROM "milestones" WHERE "milestones"."group_id" = 2651)) milestones ORDER BY "milestones"."due_date" ASC NULLS LAST, "milestones"."id" DESC LIMIT 101 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/lib/gitlab/graphql/pagination/keyset/connection.rb:122:in `block in limited_nodes'*/6717 SELECT "boards".* FROM "boards" WHERE "boards"."group_id" = 2651 AND "boards"."id" IN (SELECT "boards"."id" FROM "boards" WHERE "boards"."group_id" = 2651 ORDER BY LOWER("boards"."name") ASC, "boards"."id" ASC LIMIT 1) ORDER BY "boards"."id" DESC LIMIT 2001 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/lib/gitlab/graphql/pagination/keyset/connection.rb:122:in `block in limited_nodes'*/6718 SELECT "board_group_recent_visits".* FROM "board_group_recent_visits" WHERE "board_group_recent_visits"."user_id" = 1864 AND "board_group_recent_visits"."group_id" = 2651 ORDER BY "board_group_recent_visits"."updated_at" DESC LIMIT 4 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/app/models/concerns/board_recent_visit.rb:21:in `latest'*/6719 SELECT "members".* FROM (SELECT DISTINCT ON (user_id, invite_email) * FROM "members" WHERE "members"."type" = 'GroupMember' AND "members"."source_type" = 'Namespace' AND "members"."requested_at" IS NULL AND "members"."source_id" IN (SELECT "namespaces"."id" FROM ((SELECT "namespaces".* FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND "namespaces"."id" = 2651)) namespaces WHERE "namespaces"."type" = 'Group') AND (members.access_level > 5) ORDER BY user_id, invite_email, access_level DESC, expires_at DESC, created_at ASC) members WHERE "members"."type" = 'GroupMember' ORDER BY "members"."id" DESC LIMIT 101 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/lib/gitlab/graphql/pagination/keyset/connection.rb:122:in `block in limited_nodes'*/6720 SELECT "namespaces".* FROM "namespaces" WHERE "namespaces"."id" = 2651 LIMIT 1 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/app/models/members/group_member.rb:41:in `group'*/6721 SELECT "container_repositories".* FROM "container_repositories" INNER JOIN (SELECT "projects"."id" FROM "projects" LEFT JOIN project_features ON projects.id = project_features.project_id WHERE "projects"."namespace_id" IN (SELECT "namespaces"."id" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2651}'))) AND ("project_features"."container_registry_access_level" > 0 OR "project_features"."container_registry_access_level" IS NULL)) projects on projects.id=container_repositories.project_id ORDER BY "container_repositories"."created_at" DESC, "container_repositories"."id" DESC LIMIT 101 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/lib/gitlab/graphql/pagination/keyset/connection.rb:122:in `block in limited_nodes'*/6722 SELECT COUNT(*) FROM "container_repositories" INNER JOIN "projects" ON "container_repositories"."project_id" = "projects"."id" WHERE "projects"."namespace_id" = 2651 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/app/graphql/types/group_type.rb:270:in `container_repositories_count'*/6723 SELECT "packages_packages".* FROM "packages_packages" WHERE "packages_packages"."project_id" IN (SELECT "projects"."id" FROM "projects" LEFT JOIN project_features ON projects.id = project_features.project_id WHERE "projects"."namespace_id" IN (SELECT "namespaces"."id" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2651}'))) AND (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 1864 AND (project_authorizations.project_id = projects.id)) OR projects.visibility_level IN (0,10,20)) AND ("project_features"."repository_access_level" > 0 OR "project_features"."repository_access_level" IS NULL)) AND "packages_packages"."version" IS NOT NULL AND "packages_packages"."package_type" != 12 AND "packages_packages"."status" IN (0, 3) ORDER BY "packages_packages"."created_at" DESC, "packages_packages"."id" DESC LIMIT 101 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/lib/gitlab/graphql/pagination/keyset/connection.rb:122:in `block in limited_nodes'*/6724 SELECT COUNT(*) FROM "packages_packages" WHERE "packages_packages"."project_id" IN (SELECT "projects"."id" FROM "projects" LEFT JOIN project_features ON projects.id = project_features.project_id WHERE "projects"."namespace_id" IN (SELECT "namespaces"."id" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2651}'))) AND (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 1864 AND (project_authorizations.project_id = projects.id)) OR projects.visibility_level IN (0,10,20)) AND ("project_features"."repository_access_level" > 0 OR "project_features"."repository_access_level" IS NULL)) AND "packages_packages"."version" IS NOT NULL AND "packages_packages"."package_type" != 12 AND "packages_packages"."status" IN (0, 3) /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/app/graphql/types/countable_connection_type.rb:20:in `count'*/6725 SELECT "dependency_proxy_group_settings".* FROM "dependency_proxy_group_settings" WHERE "dependency_proxy_group_settings"."group_id" = 2651 LIMIT 1 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/app/models/group.rb:879:in `dependency_proxy_setting'*/6726 SELECT "dependency_proxy_manifests".* FROM "dependency_proxy_manifests" WHERE "dependency_proxy_manifests"."group_id" = 2651 ORDER BY "dependency_proxy_manifests"."id" DESC LIMIT 101 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/lib/gitlab/graphql/pagination/keyset/connection.rb:122:in `block in limited_nodes'*/6727 SELECT "dependency_proxy_blobs".* FROM "dependency_proxy_blobs" WHERE "dependency_proxy_blobs"."group_id" = 2651 ORDER BY "dependency_proxy_blobs"."id" DESC LIMIT 101 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/lib/gitlab/graphql/pagination/keyset/connection.rb:122:in `block in limited_nodes'*/6728 SELECT COUNT(*) FROM "dependency_proxy_manifests" WHERE "dependency_proxy_manifests"."group_id" = 2651 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/app/graphql/types/group_type.rb:278:in `dependency_proxy_image_count'*/6729 SELECT COUNT(*) FROM "dependency_proxy_blobs" WHERE "dependency_proxy_blobs"."group_id" = 2651 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/app/graphql/types/group_type.rb:282:in `dependency_proxy_blob_count'*/6730 SELECT SUM("dependency_proxy_manifests"."size") FROM "dependency_proxy_manifests" WHERE "dependency_proxy_manifests"."group_id" = 2651 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/app/graphql/types/group_type.rb:292:in `dependency_proxy_total_size_in_bytes'*/6731 SELECT SUM("dependency_proxy_blobs"."size") FROM "dependency_proxy_blobs" WHERE "dependency_proxy_blobs"."group_id" = 2651 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/app/graphql/types/group_type.rb:292:in `dependency_proxy_total_size_in_bytes'*/6732 SELECT SUM("dependency_proxy_manifests"."size") FROM "dependency_proxy_manifests" WHERE "dependency_proxy_manifests"."group_id" = 26516733 SELECT SUM("dependency_proxy_blobs"."size") FROM "dependency_proxy_blobs" WHERE "dependency_proxy_blobs"."group_id" = 26516734 SELECT "dependency_proxy_image_ttl_group_policies".* FROM "dependency_proxy_image_ttl_group_policies" WHERE "dependency_proxy_image_ttl_group_policies"."group_id" = 2651 LIMIT 1 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/app/models/group.rb:875:in `dependency_proxy_image_ttl_policy'*/6735 SELECT MAX("members"."access_level") AS maximum_access_level, "hierarchy"."id" AS hierarchy_id FROM ((SELECT "members"."id", "members"."access_level", "members"."source_id", "members"."source_type", "members"."user_id", "members"."notification_level", "members"."type", "members"."created_at", "members"."updated_at", "members"."created_by_id", "members"."invite_email", "members"."invite_token", "members"."invite_accepted_at", "members"."requested_at", "members"."expires_at", "members"."ldap", "members"."override", "members"."state", "members"."invite_email_success", "members"."member_namespace_id", "members"."member_role_id" FROM "members" LEFT OUTER JOIN "users" ON "users"."id" = "members"."user_id" WHERE "members"."type" = 'GroupMember' AND "members"."source_type" = 'Namespace' AND "users"."state" = 'active' AND "members"."state" = 0 AND "members"."requested_at" IS NULL AND "members"."invite_token" IS NULL AND (members.access_level > 5) AND "members"."user_id" = 1864)6736 UNION6737 (SELECT "members"."id", LEAST("group_group_links"."group_access", "members"."access_level") AS access_level, "group_group_links"."shared_group_id" AS source_id, "members"."source_type", "members"."user_id", "members"."notification_level", "members"."type", "members"."created_at", "members"."updated_at", "members"."created_by_id", "members"."invite_email", "members"."invite_token", "members"."invite_accepted_at", "members"."requested_at", "members"."expires_at", "members"."ldap", "members"."override", "members"."state", "members"."invite_email_success", "members"."member_namespace_id", "members"."member_role_id" FROM "members" LEFT OUTER JOIN "users" ON "users"."id" = "members"."user_id" INNER JOIN group_group_links ON members.source_id = group_group_links.shared_with_group_id WHERE "members"."type" = 'GroupMember' AND "members"."source_type" = 'Namespace' AND "users"."state" = 'active' AND "members"."state" = 0 AND "members"."requested_at" IS NULL AND "members"."invite_token" IS NULL AND (members.access_level > 5) AND "members"."user_id" = 1864)) members INNER JOIN (SELECT id, unnest(traversal_ids) as traversal_id FROM "namespaces" WHERE "namespaces"."id" = 2651) as hierarchy ON members.source_id = hierarchy.traversal_id WHERE "members"."type" = 'GroupMember' AND "members"."source_type" = 'Namespace' GROUP BY "hierarchy"."id" /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/app/models/preloaders/user_max_access_level_in_groups_preloader.rb:40:in `preload_with_traversal_ids'*/6738 WITH "base_ancestors_cte" AS MATERIALIZED (SELECT "namespaces"."traversal_ids" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND "namespaces"."id" = 2651) SELECT "namespaces"."id", "namespaces"."parent_id", "gitlab_subscriptions"."hosted_plan_id" FROM "namespaces" INNER JOIN (SELECT DISTINCT unnest("base_ancestors_cte"."traversal_ids") FROM base_ancestors_cte) AS ancestors(ancestor_id) ON namespaces.id = ancestors.ancestor_id LEFT OUTER JOIN gitlab_subscriptions ON gitlab_subscriptions.namespace_id=namespaces.id WHERE "namespaces"."type" = 'Group' /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/ee/lib/gitlab/group_plans_preloader.rb:24:in `preload'*/6739 SELECT "labels".* FROM ((SELECT "labels".* FROM "labels" WHERE "labels"."group_id" = 2651)6740 UNION6741 (SELECT "labels".* FROM "labels" WHERE "labels"."group_id" IN (SELECT "projects"."namespace_id" FROM "projects" INNER JOIN "namespaces" ON "namespaces"."id" = "projects"."namespace_id" WHERE (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 1864 AND (project_authorizations.project_id = projects.id)) OR projects.visibility_level IN (0,10,20)) AND "projects"."pending_delete" = FALSE AND "projects"."archived" = FALSE AND "projects"."hidden" = FALSE AND "projects"."namespace_id" = 2651 AND "namespaces"."type" = 'Group'))6742 UNION6743 (SELECT "labels".* FROM "labels" WHERE "labels"."project_id" IN (SELECT "projects"."id" FROM ((SELECT "projects"."id" FROM "projects" LEFT JOIN project_features ON projects.id = project_features.project_id WHERE "projects"."id" IN (SELECT "projects"."id" FROM "projects" WHERE (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 1864 AND (project_authorizations.project_id = projects.id)) OR projects.visibility_level IN (0,10,20)) AND "projects"."pending_delete" = FALSE AND "projects"."archived" = FALSE AND "projects"."hidden" = FALSE AND "projects"."namespace_id" = 2651) AND ("project_features"."issues_access_level" > 0 OR "project_features"."issues_access_level" IS NULL))6744 UNION6745 (SELECT "projects"."id" FROM "projects" LEFT JOIN project_features ON projects.id = project_features.project_id WHERE "projects"."id" IN (SELECT "projects"."id" FROM "projects" WHERE (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 1864 AND (project_authorizations.project_id = projects.id)) OR projects.visibility_level IN (0,10,20)) AND "projects"."pending_delete" = FALSE AND "projects"."archived" = FALSE AND "projects"."hidden" = FALSE AND "projects"."namespace_id" = 2651) AND ("project_features"."merge_requests_access_level" > 0 OR "project_features"."merge_requests_access_level" IS NULL))) projects WHERE "projects"."id" IN (SELECT "projects"."id" FROM "projects" WHERE (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 1864 AND (project_authorizations.project_id = projects.id)) OR projects.visibility_level IN (0,10,20)) AND "projects"."pending_delete" = FALSE AND "projects"."archived" = FALSE AND "projects"."hidden" = FALSE AND "projects"."namespace_id" = 2651)))) labels ORDER BY "labels"."title" ASC, "labels"."id" DESC LIMIT 101 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/lib/gitlab/graphql/pagination/keyset/connection.rb:122:in `block in limited_nodes'*/6746 SELECT COUNT(*) FROM ((SELECT "labels".* FROM "labels" WHERE "labels"."group_id" = 2651)6747 UNION6748 (SELECT "labels".* FROM "labels" WHERE "labels"."group_id" IN (SELECT "projects"."namespace_id" FROM "projects" INNER JOIN "namespaces" ON "namespaces"."id" = "projects"."namespace_id" WHERE (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 1864 AND (project_authorizations.project_id = projects.id)) OR projects.visibility_level IN (0,10,20)) AND "projects"."pending_delete" = FALSE AND "projects"."archived" = FALSE AND "projects"."hidden" = FALSE AND "projects"."namespace_id" = 2651 AND "namespaces"."type" = 'Group'))6749 UNION6750 (SELECT "labels".* FROM "labels" WHERE "labels"."project_id" IN (SELECT "projects"."id" FROM ((SELECT "projects"."id" FROM "projects" LEFT JOIN project_features ON projects.id = project_features.project_id WHERE "projects"."id" IN (SELECT "projects"."id" FROM "projects" WHERE (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 1864 AND (project_authorizations.project_id = projects.id)) OR projects.visibility_level IN (0,10,20)) AND "projects"."pending_delete" = FALSE AND "projects"."archived" = FALSE AND "projects"."hidden" = FALSE AND "projects"."namespace_id" = 2651) AND ("project_features"."issues_access_level" > 0 OR "project_features"."issues_access_level" IS NULL))6751 UNION6752 (SELECT "projects"."id" FROM "projects" LEFT JOIN project_features ON projects.id = project_features.project_id WHERE "projects"."id" IN (SELECT "projects"."id" FROM "projects" WHERE (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 1864 AND (project_authorizations.project_id = projects.id)) OR projects.visibility_level IN (0,10,20)) AND "projects"."pending_delete" = FALSE AND "projects"."archived" = FALSE AND "projects"."hidden" = FALSE AND "projects"."namespace_id" = 2651) AND ("project_features"."merge_requests_access_level" > 0 OR "project_features"."merge_requests_access_level" IS NULL))) projects WHERE "projects"."id" IN (SELECT "projects"."id" FROM "projects" WHERE (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 1864 AND (project_authorizations.project_id = projects.id)) OR projects.visibility_level IN (0,10,20)) AND "projects"."pending_delete" = FALSE AND "projects"."archived" = FALSE AND "projects"."hidden" = FALSE AND "projects"."namespace_id" = 2651)))) labels /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/app/graphql/types/countable_connection_type.rb:20:in `count'*/6753 SELECT "namespaces".* FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND "namespaces"."id" IN (SELECT "namespaces"."id" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2651}')) AND "namespaces"."id" != 2651) ORDER BY "namespaces"."name" ASC, "namespaces"."id" DESC LIMIT 101 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/lib/gitlab/graphql/pagination/keyset/connection.rb:122:in `block in limited_nodes'*/6754 SELECT "ci_group_variables".* FROM "ci_group_variables" WHERE "ci_group_variables"."group_id" = 2651 ORDER BY "ci_group_variables"."id" DESC LIMIT 101 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:ci,line:/lib/gitlab/graphql/pagination/keyset/connection.rb:122:in `block in limited_nodes'*/6755 SELECT "plans".* FROM "plans" WHERE "plans"."name" = 'default' LIMIT 1 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/app/models/plan.rb:17:in `block in default'*/6756 SELECT "plan_limits"."id", "plan_limits"."plan_id", "plan_limits"."ci_pipeline_size", "plan_limits"."ci_active_jobs", "plan_limits"."project_hooks", "plan_limits"."group_hooks", "plan_limits"."ci_project_subscriptions", "plan_limits"."ci_pipeline_schedules", "plan_limits"."offset_pagination_limit", "plan_limits"."ci_instance_level_variables", "plan_limits"."storage_size_limit", "plan_limits"."ci_max_artifact_size_lsif", "plan_limits"."ci_max_artifact_size_archive", "plan_limits"."ci_max_artifact_size_metadata", "plan_limits"."ci_max_artifact_size_trace", "plan_limits"."ci_max_artifact_size_junit", "plan_limits"."ci_max_artifact_size_sast", "plan_limits"."ci_max_artifact_size_dependency_scanning", "plan_limits"."ci_max_artifact_size_container_scanning", "plan_limits"."ci_max_artifact_size_dast", "plan_limits"."ci_max_artifact_size_codequality", "plan_limits"."ci_max_artifact_size_license_management", "plan_limits"."ci_max_artifact_size_license_scanning", "plan_limits"."ci_max_artifact_size_performance", "plan_limits"."ci_max_artifact_size_metrics", "plan_limits"."ci_max_artifact_size_metrics_referee", "plan_limits"."ci_max_artifact_size_network_referee", "plan_limits"."ci_max_artifact_size_dotenv", "plan_limits"."ci_max_artifact_size_cobertura", "plan_limits"."ci_max_artifact_size_terraform", "plan_limits"."ci_max_artifact_size_accessibility", "plan_limits"."ci_max_artifact_size_cluster_applications", "plan_limits"."ci_max_artifact_size_secret_detection", "plan_limits"."ci_max_artifact_size_requirements", "plan_limits"."ci_max_artifact_size_coverage_fuzzing", "plan_limits"."ci_max_artifact_size_browser_performance", "plan_limits"."ci_max_artifact_size_load_performance", "plan_limits"."ci_needs_size_limit", "plan_limits"."conan_max_file_size", "plan_limits"."maven_max_file_size", "plan_limits"."npm_max_file_size", "plan_limits"."nuget_max_file_size", "plan_limits"."pypi_max_file_size", "plan_limits"."generic_packages_max_file_size", "plan_limits"."golang_max_file_size", "plan_limits"."debian_max_file_size", "plan_limits"."project_feature_flags", "plan_limits"."ci_max_artifact_size_api_fuzzing", "plan_limits"."ci_pipeline_deployments", "plan_limits"."pull_mirror_interval_seconds", "plan_limits"."daily_invites", "plan_limits"."rubygems_max_file_size", "plan_limits"."terraform_module_max_file_size", "plan_limits"."helm_max_file_size", "plan_limits"."ci_registered_group_runners", "plan_limits"."ci_registered_project_runners", "plan_limits"."ci_daily_pipeline_schedule_triggers", "plan_limits"."ci_max_artifact_size_cluster_image_scanning", "plan_limits"."ci_jobs_trace_size_limit", "plan_limits"."pages_file_entries", "plan_limits"."dast_profile_schedules", "plan_limits"."external_audit_event_destinations", "plan_limits"."dotenv_variables", "plan_limits"."dotenv_size", "plan_limits"."pipeline_triggers", "plan_limits"."project_ci_secure_files", "plan_limits"."repository_size", "plan_limits"."security_policy_scan_execution_schedules", "plan_limits"."web_hook_calls_mid", "plan_limits"."web_hook_calls_low", "plan_limits"."project_ci_variables", "plan_limits"."group_ci_variables", "plan_limits"."ci_max_artifact_size_cyclonedx", "plan_limits"."rpm_max_file_size", "plan_limits"."ci_max_artifact_size_requirements_v2", "plan_limits"."pipeline_hierarchy_size", "plan_limits"."enforcement_limit", "plan_limits"."notification_limit", "plan_limits"."dashboard_limit_enabled_at", "plan_limits"."web_hook_calls", "plan_limits"."project_access_token_limit", "plan_limits"."google_cloud_logging_configurations", "plan_limits"."ml_model_max_file_size" FROM "plan_limits" WHERE "plan_limits"."plan_id" = 233 LIMIT 1 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/app/models/plan.rb:30:in `actual_limits'*/6757 SELECT "ci_runners".* FROM ((SELECT "ci_runners".* FROM "ci_runners" INNER JOIN "ci_runner_namespaces" ON "ci_runner_namespaces"."runner_id" = "ci_runners"."id" WHERE "ci_runner_namespaces"."namespace_id" IN (SELECT "ci_namespace_mirrors"."namespace_id" FROM "ci_namespace_mirrors" WHERE (traversal_ids @> ARRAY[2651]::int[])))6758 UNION ALL6759 (SELECT DISTINCT "ci_runners".* FROM "ci_runners" INNER JOIN "ci_runner_projects" ON "ci_runner_projects"."runner_id" = "ci_runners"."id" WHERE "ci_runner_projects"."project_id" IN (SELECT "ci_project_mirrors"."project_id" FROM "ci_project_mirrors" WHERE "ci_project_mirrors"."namespace_id" IN (SELECT "ci_namespace_mirrors"."namespace_id" FROM "ci_namespace_mirrors" WHERE (traversal_ids @> ARRAY[2651]::int[]))))) ci_runners ORDER BY "ci_runners"."created_at" DESC, "ci_runners"."id" DESC LIMIT 101 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:ci,line:/lib/gitlab/graphql/pagination/keyset/connection.rb:122:in `block in limited_nodes'*/6760 SELECT COUNT(*) FROM ((SELECT "ci_runners".* FROM "ci_runners" INNER JOIN "ci_runner_namespaces" ON "ci_runner_namespaces"."runner_id" = "ci_runners"."id" WHERE "ci_runner_namespaces"."namespace_id" IN (SELECT "ci_namespace_mirrors"."namespace_id" FROM "ci_namespace_mirrors" WHERE (traversal_ids @> ARRAY[2651]::int[])))6761 UNION ALL6762 (SELECT DISTINCT "ci_runners".* FROM "ci_runners" INNER JOIN "ci_runner_projects" ON "ci_runner_projects"."runner_id" = "ci_runners"."id" WHERE "ci_runner_projects"."project_id" IN (SELECT "ci_project_mirrors"."project_id" FROM "ci_project_mirrors" WHERE "ci_project_mirrors"."namespace_id" IN (SELECT "ci_namespace_mirrors"."namespace_id" FROM "ci_namespace_mirrors" WHERE (traversal_ids @> ARRAY[2651]::int[]))))) ci_runners /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:ci,line:/app/graphql/types/countable_connection_type.rb:20:in `count'*/6763 SELECT "work_item_types".* FROM "work_item_types" WHERE "work_item_types"."namespace_id" IS NULL ORDER BY LOWER("work_item_types"."name") ASC, "work_item_types"."id" DESC LIMIT 101 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/lib/gitlab/graphql/pagination/keyset/connection.rb:122:in `block in limited_nodes'*/6764 SELECT "releases".* FROM (WITH RECURSIVE "array_cte" AS MATERIALIZED (SELECT "projects"."id" FROM "projects" WHERE "projects"."namespace_id" IN (SELECT "namespaces"."id" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2651}')))), "recursive_keyset_cte" AS ((SELECT NULL::releases AS records, array_cte_id_array, releases_released_at_array, releases_id_array, 0::bigint AS count FROM (SELECT ARRAY_AGG("array_cte"."id") AS array_cte_id_array, ARRAY_AGG("releases"."released_at") AS releases_released_at_array, ARRAY_AGG("releases"."id") AS releases_id_array FROM (SELECT "array_cte"."id" FROM array_cte) array_cte LEFT JOIN LATERAL (SELECT "releases"."released_at" AS released_at, "releases"."id" AS id FROM "releases" WHERE "releases"."project_id" = "array_cte"."id" ORDER BY "releases"."released_at" DESC, "releases"."id" DESC LIMIT 1) releases ON TRUE WHERE "releases"."released_at" IS NOT NULL AND "releases"."id" IS NOT NULL) array_scope_lateral_query LIMIT 1)6765 UNION ALL6766 (SELECT (SELECT releases FROM "releases" WHERE "releases"."id" = recursive_keyset_cte.releases_id_array[position] LIMIT 1), array_cte_id_array, recursive_keyset_cte.releases_released_at_array[:position_query.position-1]||next_cursor_values.released_at||recursive_keyset_cte.releases_released_at_array[position_query.position+1:], recursive_keyset_cte.releases_id_array[:position_query.position-1]||next_cursor_values.id||recursive_keyset_cte.releases_id_array[position_query.position+1:], recursive_keyset_cte.count + 1 FROM recursive_keyset_cte,6767 LATERAL (SELECT released_at, id, position FROM UNNEST(releases_released_at_array, releases_id_array) WITH ORDINALITY AS u(released_at, id, position) WHERE released_at IS NOT NULL AND id IS NOT NULL ORDER BY 1 DESC, 2 DESC LIMIT 1) AS position_query,6768 LATERAL (SELECT "record"."released_at", "record"."id" FROM (VALUES (NULL, NULL)) AS nulls LEFT JOIN (SELECT "releases"."released_at" AS released_at, "releases"."id" AS id FROM "releases" WHERE "releases"."project_id" = recursive_keyset_cte.array_cte_id_array[position] AND (("releases"."released_at", "releases"."id") < (recursive_keyset_cte.releases_released_at_array[position], recursive_keyset_cte.releases_id_array[position])) ORDER BY "releases"."released_at" DESC, "releases"."id" DESC LIMIT 1) record ON TRUE LIMIT 1) AS next_cursor_values6769 )) SELECT (records).* FROM "recursive_keyset_cte" AS "releases" WHERE (count <> 0)) releases LIMIT 100 OFFSET 0 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/lib/gitlab/graphql/connection_redaction.rb:23:in `block in nodes'*/6770 SELECT COUNT(*) FROM (WITH RECURSIVE "array_cte" AS MATERIALIZED (SELECT "projects"."id" FROM "projects" WHERE "projects"."namespace_id" IN (SELECT "namespaces"."id" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2651}')))), "recursive_keyset_cte" AS ((SELECT NULL::releases AS records, array_cte_id_array, releases_released_at_array, releases_id_array, 0::bigint AS count FROM (SELECT ARRAY_AGG("array_cte"."id") AS array_cte_id_array, ARRAY_AGG("releases"."released_at") AS releases_released_at_array, ARRAY_AGG("releases"."id") AS releases_id_array FROM (SELECT "array_cte"."id" FROM array_cte) array_cte LEFT JOIN LATERAL (SELECT "releases"."released_at" AS released_at, "releases"."id" AS id FROM "releases" WHERE "releases"."project_id" = "array_cte"."id" ORDER BY "releases"."released_at" DESC, "releases"."id" DESC LIMIT 1) releases ON TRUE WHERE "releases"."released_at" IS NOT NULL AND "releases"."id" IS NOT NULL) array_scope_lateral_query LIMIT 1)6771 UNION ALL6772 (SELECT (SELECT releases FROM "releases" WHERE "releases"."id" = recursive_keyset_cte.releases_id_array[position] LIMIT 1), array_cte_id_array, recursive_keyset_cte.releases_released_at_array[:position_query.position-1]||next_cursor_values.released_at||recursive_keyset_cte.releases_released_at_array[position_query.position+1:], recursive_keyset_cte.releases_id_array[:position_query.position-1]||next_cursor_values.id||recursive_keyset_cte.releases_id_array[position_query.position+1:], recursive_keyset_cte.count + 1 FROM recursive_keyset_cte,6773 LATERAL (SELECT released_at, id, position FROM UNNEST(releases_released_at_array, releases_id_array) WITH ORDINALITY AS u(released_at, id, position) WHERE released_at IS NOT NULL AND id IS NOT NULL ORDER BY 1 DESC, 2 DESC LIMIT 1) AS position_query,6774 LATERAL (SELECT "record"."released_at", "record"."id" FROM (VALUES (NULL, NULL)) AS nulls LEFT JOIN (SELECT "releases"."released_at" AS released_at, "releases"."id" AS id FROM "releases" WHERE "releases"."project_id" = recursive_keyset_cte.array_cte_id_array[position] AND (("releases"."released_at", "releases"."id") < (recursive_keyset_cte.releases_released_at_array[position], recursive_keyset_cte.releases_id_array[position])) ORDER BY "releases"."released_at" DESC, "releases"."id" DESC LIMIT 1) record ON TRUE LIMIT 1) AS next_cursor_values6775 )) SELECT (records).* FROM "recursive_keyset_cte" AS "releases" WHERE (count <> 0)) releases /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/app/graphql/types/countable_connection_type.rb:20:in `count'*/6776 SELECT "sprints".* FROM "sprints" WHERE "sprints"."group_id" IN (SELECT "namespaces"."id" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND "namespaces"."id" = 2651) ORDER BY "sprints"."due_date" ASC, "sprints"."title" ASC, "sprints"."id" ASC LIMIT 100 OFFSET 0 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/lib/gitlab/graphql/connection_redaction.rb:23:in `block in nodes'*/6777 SELECT "iterations_cadences".* FROM "iterations_cadences" WHERE "iterations_cadences"."group_id" = 2651 ORDER BY "iterations_cadences"."title" ASC LIMIT 100 OFFSET 0 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/lib/gitlab/graphql/connection_redaction.rb:23:in `block in nodes'*/6778 SELECT "vulnerability_reads".* FROM "vulnerability_reads" WHERE "vulnerability_reads"."namespace_id" IN (SELECT "namespaces"."id" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2651}'))) ORDER BY "vulnerability_reads"."severity" DESC, "vulnerability_reads"."vulnerability_id" DESC LIMIT 101 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/lib/unnested_in_filters/dsl.rb:62:in `load'*/6779 SELECT DISTINCT ON ("vulnerability_scanners"."external_id", "report_types"."report_type") "vulnerability_scanners".*, "report_types"."report_type" AS "report_type" FROM "vulnerability_scanners" JOIN LATERAL (SELECT "vulnerability_occurrences"."report_type" FROM "vulnerability_occurrences" WHERE "vulnerability_occurrences"."scanner_id" = "vulnerability_scanners"."id" LIMIT 1) report_types ON true WHERE "vulnerability_scanners"."project_id" IN (SELECT "projects"."id" FROM "projects" WHERE "projects"."namespace_id" IN (SELECT "namespaces"."id" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2651}'))) AND "projects"."archived" = FALSE AND "projects"."pending_delete" = FALSE) ORDER BY "vulnerability_scanners"."external_id" ASC, "report_types"."report_type" ASC /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/ee/app/graphql/resolvers/vulnerabilities/scanners_resolver.rb:14:in `map'*/6780 SELECT COUNT(*) FROM "releases" INNER JOIN "projects" ON "projects"."id" = "releases"."project_id" WHERE "projects"."namespace_id" IN (SELECT "namespaces"."id" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2651}'))) /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/ee/app/models/ee/group.rb:650:in `releases_count'*/6781 SELECT (6782 COUNT(*) FILTER (WHERE EXISTS (SELECT 1 FROM releases WHERE releases.project_id = projects.id)) * 100.0 / GREATEST(COUNT(*), 1)6783 )::integer AS releases_percentage6784 FROM "projects" WHERE "projects"."namespace_id" IN (SELECT "namespaces"."id" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2651}'))) /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/ee/app/models/ee/group.rb:660:in `releases_percentage'*/6785 SELECT "users"."id" FROM "users" WHERE "users"."id" IN (SELECT "members"."user_id" FROM "members" LEFT OUTER JOIN "users" ON "users"."id" = "members"."user_id" WHERE "members"."type" = 'GroupMember' AND "members"."source_type" = 'Namespace' AND "users"."state" = 'active' AND "members"."state" = 0 AND "members"."requested_at" IS NULL AND "members"."invite_token" IS NULL AND (members.access_level > 5) AND "members"."source_id" IN (SELECT "namespaces"."id" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2651}'))) AND "members"."user_id" NOT IN (SELECT "namespace_bans"."user_id" FROM "namespace_bans" WHERE "namespace_bans"."namespace_id" = 2651)) AND "users"."user_type" IN (0, 4, 5) /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/ee/app/finders/namespaces/billed_users_finder.rb:32:in `calculate_user_ids'*/6786 SELECT "users"."id" FROM "users" WHERE "users"."id" IN (SELECT "members"."user_id" FROM "members" WHERE "members"."type" IN ('ProjectMember', 'ProjectNamespaceMember') AND "members"."source_type" = 'Project' AND "members"."state" = 0 AND "members"."requested_at" IS NULL AND "members"."invite_token" IS NULL AND (members.access_level > 5) AND "members"."source_id" IN (SELECT "projects"."id" FROM "projects" INNER JOIN "namespaces" ON "namespaces"."type" = 'Group' AND "namespaces"."id" = "projects"."namespace_id" AND "namespaces"."type" = 'Group' WHERE "projects"."namespace_id" IN (SELECT "namespaces"."id" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2651}')))) AND "members"."user_id" NOT IN (SELECT "namespace_bans"."user_id" FROM "namespace_bans" WHERE "namespace_bans"."namespace_id" = 2651)) AND "users"."user_type" IN (0, 4, 5) AND ("users"."state" IN ('active')) /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/ee/app/finders/namespaces/billed_users_finder.rb:32:in `calculate_user_ids'*/6787 SELECT "users"."id" FROM "users" WHERE "users"."id" IN (SELECT "members"."user_id" FROM "members" LEFT OUTER JOIN "users" ON "users"."id" = "members"."user_id" WHERE "users"."state" = 'active' AND "members"."state" = 0 AND "members"."requested_at" IS NULL AND "members"."invite_token" IS NULL AND (members.access_level > 5) AND "members"."source_id" IN (WITH "base_ancestors_cte" AS MATERIALIZED (SELECT "namespaces"."traversal_ids" FROM "namespaces" INNER JOIN "group_group_links" ON "group_group_links"."shared_with_group_id" = "namespaces"."id" WHERE "namespaces"."type" = 'Group' AND "group_group_links"."shared_group_id" IN (SELECT "namespaces"."id" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2651}')))) SELECT "namespaces"."id" FROM "namespaces" INNER JOIN (SELECT DISTINCT unnest("base_ancestors_cte"."traversal_ids") FROM base_ancestors_cte) AS ancestors(ancestor_id) ON namespaces.id = ancestors.ancestor_id WHERE "namespaces"."type" = 'Group') AND "members"."type" = 'GroupMember' AND "members"."source_type" = 'Namespace' AND "members"."user_id" NOT IN (SELECT "namespace_bans"."user_id" FROM "namespace_bans" WHERE "namespace_bans"."namespace_id" = 2651)) AND "users"."user_type" IN (0, 4, 5) /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/ee/app/finders/namespaces/billed_users_finder.rb:32:in `calculate_user_ids'*/6788 SELECT "users"."id" FROM "users" WHERE "users"."id" IN (SELECT "members"."user_id" FROM "members" LEFT OUTER JOIN "users" ON "users"."id" = "members"."user_id" WHERE "users"."state" = 'active' AND "members"."state" = 0 AND "members"."requested_at" IS NULL AND "members"."invite_token" IS NULL AND (members.access_level > 5) AND "members"."source_id" IN (WITH "base_ancestors_cte" AS MATERIALIZED (SELECT "namespaces"."traversal_ids" FROM "namespaces" INNER JOIN "project_group_links" ON "project_group_links"."group_id" = "namespaces"."id" WHERE "namespaces"."type" = 'Group' AND "project_group_links"."project_id" IN (SELECT "projects"."id" FROM "projects" WHERE "projects"."namespace_id" IN (SELECT namespaces.traversal_ids[array_length(namespaces.traversal_ids, 1)] AS id FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2651}'))))) SELECT "namespaces"."id" FROM "namespaces" INNER JOIN (SELECT DISTINCT unnest("base_ancestors_cte"."traversal_ids") FROM base_ancestors_cte) AS ancestors(ancestor_id) ON namespaces.id = ancestors.ancestor_id WHERE "namespaces"."type" = 'Group') AND "members"."type" = 'GroupMember' AND "members"."source_type" = 'Namespace' AND "members"."user_id" NOT IN (SELECT "namespace_bans"."user_id" FROM "namespace_bans" WHERE "namespace_bans"."namespace_id" = 2651)) AND "users"."user_type" IN (0, 4, 5) /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/ee/app/finders/namespaces/billed_users_finder.rb:32:in `calculate_user_ids'*/6789 SELECT "merge_requests_compliance_violations".* FROM (WITH RECURSIVE "array_cte" AS MATERIALIZED (SELECT "projects"."id" FROM "projects" WHERE "projects"."namespace_id" IN (SELECT namespaces.traversal_ids[array_length(namespaces.traversal_ids, 1)] AS id FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2651}')))), "recursive_keyset_cte" AS ((SELECT NULL::merge_requests_compliance_violations AS records, array_cte_id_array, merge_requests_compliance_violations_severity_level_array, merge_requests_compliance_violations_id_array, 0::bigint AS count FROM (SELECT ARRAY_AGG("array_cte"."id") AS array_cte_id_array, ARRAY_AGG("merge_requests_compliance_violations"."severity_level") AS merge_requests_compliance_violations_severity_level_array, ARRAY_AGG("merge_requests_compliance_violations"."id") AS merge_requests_compliance_violations_id_array FROM (SELECT "array_cte"."id" FROM array_cte) array_cte LEFT JOIN LATERAL (SELECT "merge_requests_compliance_violations"."severity_level" AS severity_level, "merge_requests_compliance_violations"."id" AS id FROM "merge_requests_compliance_violations" WHERE "merge_requests_compliance_violations"."target_project_id" = "array_cte"."id" ORDER BY "merge_requests_compliance_violations"."severity_level" DESC, "merge_requests_compliance_violations"."id" DESC LIMIT 1) merge_requests_compliance_violations ON TRUE WHERE "merge_requests_compliance_violations"."severity_level" IS NOT NULL AND "merge_requests_compliance_violations"."id" IS NOT NULL) array_scope_lateral_query LIMIT 1)6790 UNION ALL6791 (SELECT (SELECT merge_requests_compliance_violations FROM "merge_requests_compliance_violations" WHERE "merge_requests_compliance_violations"."id" = recursive_keyset_cte.merge_requests_compliance_violations_id_array[position] LIMIT 1), array_cte_id_array, recursive_keyset_cte.merge_requests_compliance_violations_severity_level_array[:position_query.position-1]||next_cursor_values.severity_level||recursive_keyset_cte.merge_requests_compliance_violations_severity_level_array[position_query.position+1:], recursive_keyset_cte.merge_requests_compliance_violations_id_array[:position_query.position-1]||next_cursor_values.id||recursive_keyset_cte.merge_requests_compliance_violations_id_array[position_query.position+1:], recursive_keyset_cte.count + 1 FROM recursive_keyset_cte,6792 LATERAL (SELECT severity_level, id, position FROM UNNEST(merge_requests_compliance_violations_severity_level_array, merge_requests_compliance_violations_id_array) WITH ORDINALITY AS u(severity_level, id, position) WHERE severity_level IS NOT NULL AND id IS NOT NULL ORDER BY 1 DESC, 2 DESC LIMIT 1) AS position_query,6793 LATERAL (SELECT "record"."severity_level", "record"."id" FROM (VALUES (NULL, NULL)) AS nulls LEFT JOIN (SELECT "merge_requests_compliance_violations"."severity_level" AS severity_level, "merge_requests_compliance_violations"."id" AS id FROM "merge_requests_compliance_violations" WHERE "merge_requests_compliance_violations"."target_project_id" = recursive_keyset_cte.array_cte_id_array[position] AND (("merge_requests_compliance_violations"."severity_level", "merge_requests_compliance_violations"."id") < (recursive_keyset_cte.merge_requests_compliance_violations_severity_level_array[position], recursive_keyset_cte.merge_requests_compliance_violations_id_array[position])) ORDER BY "merge_requests_compliance_violations"."severity_level" DESC, "merge_requests_compliance_violations"."id" DESC LIMIT 1) record ON TRUE LIMIT 1) AS next_cursor_values6794 )) SELECT (records).* FROM "recursive_keyset_cte" AS "merge_requests_compliance_violations" WHERE (count <> 0)) merge_requests_compliance_violations LIMIT 100 OFFSET 0 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/lib/gitlab/graphql/connection_redaction.rb:23:in `block in nodes'*/6795 SELECT "namespace_ci_cd_settings".* FROM "namespace_ci_cd_settings" WHERE "namespace_ci_cd_settings"."namespace_id" = 2651 LIMIT 1 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/ee/app/models/ee/ci/namespace_settings.rb:14:in `allow_stale_runner_pruning?'*/6796 SELECT "cluster_agents".* FROM "cluster_agents" WHERE "cluster_agents"."project_id" IN (SELECT "projects"."id" FROM "projects" WHERE "projects"."namespace_id" IN (SELECT namespaces.traversal_ids[array_length(namespaces.traversal_ids, 1)] AS id FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2651}')))) ORDER BY "cluster_agents"."name" ASC, "cluster_agents"."id" DESC LIMIT 101 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/lib/gitlab/graphql/pagination/keyset/connection.rb:122:in `block in limited_nodes'*/6797 SELECT COUNT(*) FROM "cluster_agents" WHERE "cluster_agents"."project_id" IN (SELECT "projects"."id" FROM "projects" WHERE "projects"."namespace_id" IN (SELECT namespaces.traversal_ids[array_length(namespaces.traversal_ids, 1)] AS id FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2651}')))) /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/app/graphql/types/countable_connection_type.rb:20:in `count'*/6798 SELECT "projects".* FROM "projects" WHERE "projects"."namespace_id" = 2651 ORDER BY "projects"."id" DESC LIMIT 101 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/lib/gitlab/graphql/pagination/keyset/connection.rb:122:in `block in limited_nodes'*/6799 SELECT COUNT(*) FROM "projects" WHERE "projects"."namespace_id" = 2651 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/app/graphql/types/countable_connection_type.rb:20:in `count'*/6800 SELECT "namespace_package_settings".* FROM "namespace_package_settings" WHERE "namespace_package_settings"."namespace_id" = 2651 LIMIT 1 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/app/models/namespace.rb:285:in `package_settings'*/6801 SELECT "timelog_categories".* FROM "timelog_categories" WHERE "timelog_categories"."namespace_id" = 2651 ORDER BY "timelog_categories"."id" DESC LIMIT 101 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/lib/gitlab/graphql/pagination/keyset/connection.rb:122:in `block in limited_nodes'*/6802 SELECT "achievements".* FROM "achievements" WHERE "achievements"."namespace_id" = 2651 ORDER BY "achievements"."id" DESC LIMIT 101 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/lib/gitlab/graphql/pagination/keyset/connection.rb:122:in `block in limited_nodes'*/6803 SELECT "namespace_limits".* FROM "namespace_limits" WHERE "namespace_limits"."namespace_id" = 2651 LIMIT 1 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/ee/app/models/ee/namespace.rb:160:in `namespace_limit'*/6804 SELECT SUM((("project_statistics"."repository_size" + "project_statistics"."lfs_objects_size") - "projects"."repository_size_limit")) FROM "projects" INNER JOIN "project_statistics" ON "project_statistics"."project_id" = "projects"."id" WHERE "projects"."namespace_id" IN (SELECT namespaces.traversal_ids[array_length(namespaces.traversal_ids, 1)] AS id FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2651}'))) AND "projects"."repository_size_limit" != 0 AND ("project_statistics"."repository_size" + "project_statistics"."lfs_objects_size") > "projects"."repository_size_limit" LIMIT 1 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/ee/app/models/ee/namespace.rb:246:in `block in total_repository_size_excess'*/6805 SELECT SUM(("project_statistics"."repository_size" + "project_statistics"."lfs_objects_size")) FROM "projects" INNER JOIN "project_statistics" ON "project_statistics"."project_id" = "projects"."id" WHERE "projects"."namespace_id" IN (SELECT namespaces.traversal_ids[array_length(namespaces.traversal_ids, 1)] AS id FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2651}'))) LIMIT 1 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/ee/app/models/ee/namespace.rb:260:in `block in total_repository_size'*/6806 SELECT COUNT(*) FROM "projects" INNER JOIN "project_statistics" ON "project_statistics"."project_id" = "projects"."id" WHERE "projects"."namespace_id" IN (SELECT namespaces.traversal_ids[array_length(namespaces.traversal_ids, 1)] AS id FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2651}'))) AND "projects"."repository_size_limit" != 0 AND ("project_statistics"."repository_size" + "project_statistics"."lfs_objects_size") > "projects"."repository_size_limit" /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/ee/app/models/ee/namespace.rb:252:in `block in repository_size_excess_project_count'*/6807 SELECT "security_orchestration_policy_configurations".* FROM "security_orchestration_policy_configurations" WHERE "security_orchestration_policy_configurations"."namespace_id" = 2651 LIMIT 1 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/ee/app/finders/security/scan_policy_base_finder.rb:27:in `policy_configuration'*/6808 SELECT "timelogs"."id", "timelogs"."time_spent", "timelogs"."user_id", "timelogs"."created_at", "timelogs"."updated_at", "timelogs"."issue_id", "timelogs"."merge_request_id", "timelogs"."spent_at", "timelogs"."project_id", "timelogs"."summary", "timelogs"."note_id" FROM "timelogs" INNER JOIN "projects" ON "projects"."id" = "timelogs"."project_id" WHERE "projects"."namespace_id" IN (SELECT "namespaces"."id" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2651}'))) AND (spent_at >= '2021-03-01 00:00:00') AND (spent_at <= '2021-03-30 23:59:59.999999') ORDER BY "timelogs"."spent_at" ASC NULLS LAST, "timelogs"."id" DESC LIMIT 101 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/lib/gitlab/graphql/pagination/keyset/connection.rb:122:in `block in limited_nodes'*/6809 SELECT SUM("timelogs"."time_spent") FROM "timelogs" INNER JOIN "projects" ON "projects"."id" = "timelogs"."project_id" WHERE "projects"."namespace_id" IN (SELECT "namespaces"."id" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2651}'))) AND (spent_at >= '2021-03-01 00:00:00') AND (spent_at <= '2021-03-30 23:59:59.999999') /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/app/graphql/types/time_tracking/timelog_connection_type.rb:20:in `total_spent_time'*/6810 SELECT COUNT(*) FROM "timelogs" INNER JOIN "projects" ON "projects"."id" = "timelogs"."project_id" WHERE "projects"."namespace_id" IN (SELECT "namespaces"."id" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2651}'))) AND (spent_at >= '2021-03-01 00:00:00') AND (spent_at <= '2021-03-30 23:59:59.999999') /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/app/graphql/types/countable_connection_type.rb:20:in `count'*/6811 SELECT "saml_providers".* FROM "saml_providers" WHERE "saml_providers"."group_id" = 2652 LIMIT 1 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/ee/app/models/ee/group.rb:358:in `block in root_saml_provider'*/6812 SELECT "namespaces".* FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND "namespaces"."id" = 2652 LIMIT 1 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/app/models/project.rb:2184:in `visibility_level_allowed_by_group?'*/6813 SELECT "namespaces".* FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND "namespaces"."id" = 2652 LIMIT 16814 SELECT "namespaces".* FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND "namespaces"."id" = 2652 LIMIT 16815 SELECT "custom_emoji".* FROM "custom_emoji" WHERE "custom_emoji"."namespace_id" = 2652 ORDER BY "custom_emoji"."id" DESC LIMIT 101 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/lib/gitlab/graphql/pagination/keyset/connection.rb:122:in `block in limited_nodes'*/6816 SELECT "group_crm_settings".* FROM "group_crm_settings" WHERE "group_crm_settings"."group_id" = 2652 LIMIT 1 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/app/models/group.rb:887:in `crm_enabled?'*/6817 SELECT "issues".* FROM "issues" INNER JOIN "projects" ON "projects"."id" = "issues"."project_id" LEFT JOIN project_features ON projects.id = project_features.project_id WHERE "projects"."namespace_id" = 2652 AND (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 1864 AND (project_authorizations.project_id = projects.id)) OR projects.visibility_level IN (0,10,20)) AND ("project_features"."issues_access_level" > 0 OR "project_features"."issues_access_level" IS NULL) AND "projects"."archived" = FALSE ORDER BY "issues"."created_at" DESC, "issues"."id" DESC LIMIT 101 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/lib/gitlab/graphql/pagination/keyset/connection.rb:122:in `block in limited_nodes'*/6818 SELECT SUM("issues"."weight") FROM "issues" INNER JOIN "projects" ON "projects"."id" = "issues"."project_id" LEFT JOIN project_features ON projects.id = project_features.project_id WHERE "projects"."namespace_id" = 2652 AND (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 1864 AND (project_authorizations.project_id = projects.id)) OR projects.visibility_level IN (0,10,20)) AND ("project_features"."issues_access_level" > 0 OR "project_features"."issues_access_level" IS NULL) AND "projects"."archived" = FALSE /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/ee/app/graphql/ee/types/issue_connection_type.rb:19:in `weight'*/6819 SELECT COUNT(*) FROM "issues" INNER JOIN "projects" ON "projects"."id" = "issues"."project_id" LEFT JOIN project_features ON projects.id = project_features.project_id WHERE "projects"."namespace_id" = 2652 AND (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 1864 AND (project_authorizations.project_id = projects.id)) OR projects.visibility_level IN (0,10,20)) AND ("project_features"."issues_access_level" > 0 OR "project_features"."issues_access_level" IS NULL) AND "projects"."archived" = FALSE /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/app/graphql/types/countable_connection_type.rb:20:in `count'*/6820 SELECT "merge_requests".* FROM "merge_requests" INNER JOIN "projects" ON "projects"."id" = "merge_requests"."target_project_id" LEFT JOIN project_features ON projects.id = project_features.project_id WHERE "projects"."namespace_id" = 2652 AND (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 1864 AND (project_authorizations.project_id = projects.id)) OR projects.visibility_level IN (0,10,20)) AND ("project_features"."merge_requests_access_level" > 0 OR "project_features"."merge_requests_access_level" IS NULL) AND "projects"."archived" = FALSE ORDER BY "merge_requests"."created_at" DESC, "merge_requests"."id" DESC LIMIT 101 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/lib/gitlab/graphql/pagination/keyset/connection.rb:122:in `block in limited_nodes'*/6821 SELECT EXTRACT(epoch FROM SUM(AGE(merge_request_metrics.merged_at, merge_request_metrics.created_at))) FROM "merge_requests" INNER JOIN "projects" ON "projects"."id" = "merge_requests"."target_project_id" INNER JOIN "merge_request_metrics" ON "merge_request_metrics"."merge_request_id" = "merge_requests"."id" LEFT JOIN project_features ON projects.id = project_features.project_id WHERE "projects"."namespace_id" = 2652 AND (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 1864 AND (project_authorizations.project_id = projects.id)) OR projects.visibility_level IN (0,10,20)) AND ("project_features"."merge_requests_access_level" > 0 OR "project_features"."merge_requests_access_level" IS NULL) AND "projects"."archived" = FALSE AND "merge_requests"."target_project_id" = "merge_request_metrics"."target_project_id" AND "merge_request_metrics"."merged_at" > "merge_request_metrics"."created_at" LIMIT 1 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/app/models/merge_request.rb:473:in `total_time_to_merge'*/6822 SELECT COUNT(*) FROM "merge_requests" INNER JOIN "projects" ON "projects"."id" = "merge_requests"."target_project_id" LEFT JOIN project_features ON projects.id = project_features.project_id WHERE "projects"."namespace_id" = 2652 AND (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 1864 AND (project_authorizations.project_id = projects.id)) OR projects.visibility_level IN (0,10,20)) AND ("project_features"."merge_requests_access_level" > 0 OR "project_features"."merge_requests_access_level" IS NULL) AND "projects"."archived" = FALSE /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/app/graphql/types/countable_connection_type.rb:20:in `count'*/6823 SELECT "milestones".* FROM ((SELECT "milestones".* FROM "milestones" WHERE 1=0)6824 UNION ALL6825 (SELECT "milestones".* FROM "milestones" WHERE "milestones"."group_id" = 2652)) milestones ORDER BY "milestones"."due_date" ASC NULLS LAST, "milestones"."id" DESC LIMIT 101 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/lib/gitlab/graphql/pagination/keyset/connection.rb:122:in `block in limited_nodes'*/6826 SELECT "boards".* FROM "boards" WHERE "boards"."group_id" = 2652 AND "boards"."id" IN (SELECT "boards"."id" FROM "boards" WHERE "boards"."group_id" = 2652 ORDER BY LOWER("boards"."name") ASC, "boards"."id" ASC LIMIT 1) ORDER BY "boards"."id" DESC LIMIT 2001 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/lib/gitlab/graphql/pagination/keyset/connection.rb:122:in `block in limited_nodes'*/6827 SELECT "board_group_recent_visits".* FROM "board_group_recent_visits" WHERE "board_group_recent_visits"."user_id" = 1864 AND "board_group_recent_visits"."group_id" = 2652 ORDER BY "board_group_recent_visits"."updated_at" DESC LIMIT 4 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/app/models/concerns/board_recent_visit.rb:21:in `latest'*/6828 SELECT "members".* FROM (SELECT DISTINCT ON (user_id, invite_email) * FROM "members" WHERE "members"."type" = 'GroupMember' AND "members"."source_type" = 'Namespace' AND "members"."requested_at" IS NULL AND "members"."source_id" IN (SELECT "namespaces"."id" FROM ((SELECT "namespaces".* FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND "namespaces"."id" = 2652)) namespaces WHERE "namespaces"."type" = 'Group') AND (members.access_level > 5) ORDER BY user_id, invite_email, access_level DESC, expires_at DESC, created_at ASC) members WHERE "members"."type" = 'GroupMember' ORDER BY "members"."id" DESC LIMIT 101 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/lib/gitlab/graphql/pagination/keyset/connection.rb:122:in `block in limited_nodes'*/6829 SELECT "namespaces".* FROM "namespaces" WHERE "namespaces"."id" = 2652 LIMIT 1 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/app/models/members/group_member.rb:41:in `group'*/6830 SELECT "container_repositories".* FROM "container_repositories" INNER JOIN (SELECT "projects"."id" FROM "projects" LEFT JOIN project_features ON projects.id = project_features.project_id WHERE "projects"."namespace_id" IN (SELECT "namespaces"."id" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2652}'))) AND ("project_features"."container_registry_access_level" > 0 OR "project_features"."container_registry_access_level" IS NULL)) projects on projects.id=container_repositories.project_id ORDER BY "container_repositories"."created_at" DESC, "container_repositories"."id" DESC LIMIT 101 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/lib/gitlab/graphql/pagination/keyset/connection.rb:122:in `block in limited_nodes'*/6831 SELECT COUNT(*) FROM "container_repositories" INNER JOIN "projects" ON "container_repositories"."project_id" = "projects"."id" WHERE "projects"."namespace_id" = 2652 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/app/graphql/types/group_type.rb:270:in `container_repositories_count'*/6832 SELECT "packages_packages".* FROM "packages_packages" WHERE "packages_packages"."project_id" IN (SELECT "projects"."id" FROM "projects" LEFT JOIN project_features ON projects.id = project_features.project_id WHERE "projects"."namespace_id" IN (SELECT "namespaces"."id" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2652}'))) AND (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 1864 AND (project_authorizations.project_id = projects.id)) OR projects.visibility_level IN (0,10,20)) AND ("project_features"."repository_access_level" > 0 OR "project_features"."repository_access_level" IS NULL)) AND "packages_packages"."version" IS NOT NULL AND "packages_packages"."package_type" != 12 AND "packages_packages"."status" IN (0, 3) ORDER BY "packages_packages"."created_at" DESC, "packages_packages"."id" DESC LIMIT 101 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/lib/gitlab/graphql/pagination/keyset/connection.rb:122:in `block in limited_nodes'*/6833 SELECT COUNT(*) FROM "packages_packages" WHERE "packages_packages"."project_id" IN (SELECT "projects"."id" FROM "projects" LEFT JOIN project_features ON projects.id = project_features.project_id WHERE "projects"."namespace_id" IN (SELECT "namespaces"."id" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2652}'))) AND (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 1864 AND (project_authorizations.project_id = projects.id)) OR projects.visibility_level IN (0,10,20)) AND ("project_features"."repository_access_level" > 0 OR "project_features"."repository_access_level" IS NULL)) AND "packages_packages"."version" IS NOT NULL AND "packages_packages"."package_type" != 12 AND "packages_packages"."status" IN (0, 3) /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/app/graphql/types/countable_connection_type.rb:20:in `count'*/6834 SELECT "dependency_proxy_group_settings".* FROM "dependency_proxy_group_settings" WHERE "dependency_proxy_group_settings"."group_id" = 2652 LIMIT 1 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/app/models/group.rb:879:in `dependency_proxy_setting'*/6835 SELECT "dependency_proxy_manifests".* FROM "dependency_proxy_manifests" WHERE "dependency_proxy_manifests"."group_id" = 2652 ORDER BY "dependency_proxy_manifests"."id" DESC LIMIT 101 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/lib/gitlab/graphql/pagination/keyset/connection.rb:122:in `block in limited_nodes'*/6836 SELECT "dependency_proxy_blobs".* FROM "dependency_proxy_blobs" WHERE "dependency_proxy_blobs"."group_id" = 2652 ORDER BY "dependency_proxy_blobs"."id" DESC LIMIT 101 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/lib/gitlab/graphql/pagination/keyset/connection.rb:122:in `block in limited_nodes'*/6837 SELECT COUNT(*) FROM "dependency_proxy_manifests" WHERE "dependency_proxy_manifests"."group_id" = 2652 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/app/graphql/types/group_type.rb:278:in `dependency_proxy_image_count'*/6838 SELECT COUNT(*) FROM "dependency_proxy_blobs" WHERE "dependency_proxy_blobs"."group_id" = 2652 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/app/graphql/types/group_type.rb:282:in `dependency_proxy_blob_count'*/6839 SELECT SUM("dependency_proxy_manifests"."size") FROM "dependency_proxy_manifests" WHERE "dependency_proxy_manifests"."group_id" = 2652 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/app/graphql/types/group_type.rb:292:in `dependency_proxy_total_size_in_bytes'*/6840 SELECT SUM("dependency_proxy_blobs"."size") FROM "dependency_proxy_blobs" WHERE "dependency_proxy_blobs"."group_id" = 2652 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/app/graphql/types/group_type.rb:292:in `dependency_proxy_total_size_in_bytes'*/6841 SELECT SUM("dependency_proxy_manifests"."size") FROM "dependency_proxy_manifests" WHERE "dependency_proxy_manifests"."group_id" = 26526842 SELECT SUM("dependency_proxy_blobs"."size") FROM "dependency_proxy_blobs" WHERE "dependency_proxy_blobs"."group_id" = 26526843 SELECT "dependency_proxy_image_ttl_group_policies".* FROM "dependency_proxy_image_ttl_group_policies" WHERE "dependency_proxy_image_ttl_group_policies"."group_id" = 2652 LIMIT 1 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/app/models/group.rb:875:in `dependency_proxy_image_ttl_policy'*/6844 SELECT MAX("members"."access_level") AS maximum_access_level, "hierarchy"."id" AS hierarchy_id FROM ((SELECT "members"."id", "members"."access_level", "members"."source_id", "members"."source_type", "members"."user_id", "members"."notification_level", "members"."type", "members"."created_at", "members"."updated_at", "members"."created_by_id", "members"."invite_email", "members"."invite_token", "members"."invite_accepted_at", "members"."requested_at", "members"."expires_at", "members"."ldap", "members"."override", "members"."state", "members"."invite_email_success", "members"."member_namespace_id", "members"."member_role_id" FROM "members" LEFT OUTER JOIN "users" ON "users"."id" = "members"."user_id" WHERE "members"."type" = 'GroupMember' AND "members"."source_type" = 'Namespace' AND "users"."state" = 'active' AND "members"."state" = 0 AND "members"."requested_at" IS NULL AND "members"."invite_token" IS NULL AND (members.access_level > 5) AND "members"."user_id" = 1864)6845 UNION6846 (SELECT "members"."id", LEAST("group_group_links"."group_access", "members"."access_level") AS access_level, "group_group_links"."shared_group_id" AS source_id, "members"."source_type", "members"."user_id", "members"."notification_level", "members"."type", "members"."created_at", "members"."updated_at", "members"."created_by_id", "members"."invite_email", "members"."invite_token", "members"."invite_accepted_at", "members"."requested_at", "members"."expires_at", "members"."ldap", "members"."override", "members"."state", "members"."invite_email_success", "members"."member_namespace_id", "members"."member_role_id" FROM "members" LEFT OUTER JOIN "users" ON "users"."id" = "members"."user_id" INNER JOIN group_group_links ON members.source_id = group_group_links.shared_with_group_id WHERE "members"."type" = 'GroupMember' AND "members"."source_type" = 'Namespace' AND "users"."state" = 'active' AND "members"."state" = 0 AND "members"."requested_at" IS NULL AND "members"."invite_token" IS NULL AND (members.access_level > 5) AND "members"."user_id" = 1864)) members INNER JOIN (SELECT id, unnest(traversal_ids) as traversal_id FROM "namespaces" WHERE "namespaces"."id" = 2652) as hierarchy ON members.source_id = hierarchy.traversal_id WHERE "members"."type" = 'GroupMember' AND "members"."source_type" = 'Namespace' GROUP BY "hierarchy"."id" /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/app/models/preloaders/user_max_access_level_in_groups_preloader.rb:40:in `preload_with_traversal_ids'*/6847 WITH "base_ancestors_cte" AS MATERIALIZED (SELECT "namespaces"."traversal_ids" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND "namespaces"."id" = 2652) SELECT "namespaces"."id", "namespaces"."parent_id", "gitlab_subscriptions"."hosted_plan_id" FROM "namespaces" INNER JOIN (SELECT DISTINCT unnest("base_ancestors_cte"."traversal_ids") FROM base_ancestors_cte) AS ancestors(ancestor_id) ON namespaces.id = ancestors.ancestor_id LEFT OUTER JOIN gitlab_subscriptions ON gitlab_subscriptions.namespace_id=namespaces.id WHERE "namespaces"."type" = 'Group' /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/ee/lib/gitlab/group_plans_preloader.rb:24:in `preload'*/6848 SELECT "labels".* FROM ((SELECT "labels".* FROM "labels" WHERE "labels"."group_id" = 2652)6849 UNION6850 (SELECT "labels".* FROM "labels" WHERE "labels"."group_id" IN (SELECT "projects"."namespace_id" FROM "projects" INNER JOIN "namespaces" ON "namespaces"."id" = "projects"."namespace_id" WHERE (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 1864 AND (project_authorizations.project_id = projects.id)) OR projects.visibility_level IN (0,10,20)) AND "projects"."pending_delete" = FALSE AND "projects"."archived" = FALSE AND "projects"."hidden" = FALSE AND "projects"."namespace_id" = 2652 AND "namespaces"."type" = 'Group'))6851 UNION6852 (SELECT "labels".* FROM "labels" WHERE "labels"."project_id" IN (SELECT "projects"."id" FROM ((SELECT "projects"."id" FROM "projects" LEFT JOIN project_features ON projects.id = project_features.project_id WHERE "projects"."id" IN (SELECT "projects"."id" FROM "projects" WHERE (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 1864 AND (project_authorizations.project_id = projects.id)) OR projects.visibility_level IN (0,10,20)) AND "projects"."pending_delete" = FALSE AND "projects"."archived" = FALSE AND "projects"."hidden" = FALSE AND "projects"."namespace_id" = 2652) AND ("project_features"."issues_access_level" > 0 OR "project_features"."issues_access_level" IS NULL))6853 UNION6854 (SELECT "projects"."id" FROM "projects" LEFT JOIN project_features ON projects.id = project_features.project_id WHERE "projects"."id" IN (SELECT "projects"."id" FROM "projects" WHERE (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 1864 AND (project_authorizations.project_id = projects.id)) OR projects.visibility_level IN (0,10,20)) AND "projects"."pending_delete" = FALSE AND "projects"."archived" = FALSE AND "projects"."hidden" = FALSE AND "projects"."namespace_id" = 2652) AND ("project_features"."merge_requests_access_level" > 0 OR "project_features"."merge_requests_access_level" IS NULL))) projects WHERE "projects"."id" IN (SELECT "projects"."id" FROM "projects" WHERE (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 1864 AND (project_authorizations.project_id = projects.id)) OR projects.visibility_level IN (0,10,20)) AND "projects"."pending_delete" = FALSE AND "projects"."archived" = FALSE AND "projects"."hidden" = FALSE AND "projects"."namespace_id" = 2652)))) labels ORDER BY "labels"."title" ASC, "labels"."id" DESC LIMIT 101 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/lib/gitlab/graphql/pagination/keyset/connection.rb:122:in `block in limited_nodes'*/6855 SELECT COUNT(*) FROM ((SELECT "labels".* FROM "labels" WHERE "labels"."group_id" = 2652)6856 UNION6857 (SELECT "labels".* FROM "labels" WHERE "labels"."group_id" IN (SELECT "projects"."namespace_id" FROM "projects" INNER JOIN "namespaces" ON "namespaces"."id" = "projects"."namespace_id" WHERE (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 1864 AND (project_authorizations.project_id = projects.id)) OR projects.visibility_level IN (0,10,20)) AND "projects"."pending_delete" = FALSE AND "projects"."archived" = FALSE AND "projects"."hidden" = FALSE AND "projects"."namespace_id" = 2652 AND "namespaces"."type" = 'Group'))6858 UNION6859 (SELECT "labels".* FROM "labels" WHERE "labels"."project_id" IN (SELECT "projects"."id" FROM ((SELECT "projects"."id" FROM "projects" LEFT JOIN project_features ON projects.id = project_features.project_id WHERE "projects"."id" IN (SELECT "projects"."id" FROM "projects" WHERE (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 1864 AND (project_authorizations.project_id = projects.id)) OR projects.visibility_level IN (0,10,20)) AND "projects"."pending_delete" = FALSE AND "projects"."archived" = FALSE AND "projects"."hidden" = FALSE AND "projects"."namespace_id" = 2652) AND ("project_features"."issues_access_level" > 0 OR "project_features"."issues_access_level" IS NULL))6860 UNION6861 (SELECT "projects"."id" FROM "projects" LEFT JOIN project_features ON projects.id = project_features.project_id WHERE "projects"."id" IN (SELECT "projects"."id" FROM "projects" WHERE (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 1864 AND (project_authorizations.project_id = projects.id)) OR projects.visibility_level IN (0,10,20)) AND "projects"."pending_delete" = FALSE AND "projects"."archived" = FALSE AND "projects"."hidden" = FALSE AND "projects"."namespace_id" = 2652) AND ("project_features"."merge_requests_access_level" > 0 OR "project_features"."merge_requests_access_level" IS NULL))) projects WHERE "projects"."id" IN (SELECT "projects"."id" FROM "projects" WHERE (EXISTS (SELECT 1 FROM "project_authorizations" WHERE "project_authorizations"."user_id" = 1864 AND (project_authorizations.project_id = projects.id)) OR projects.visibility_level IN (0,10,20)) AND "projects"."pending_delete" = FALSE AND "projects"."archived" = FALSE AND "projects"."hidden" = FALSE AND "projects"."namespace_id" = 2652)))) labels /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/app/graphql/types/countable_connection_type.rb:20:in `count'*/6862 SELECT "namespaces".* FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND "namespaces"."id" IN (SELECT "namespaces"."id" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2652}')) AND "namespaces"."id" != 2652) ORDER BY "namespaces"."name" ASC, "namespaces"."id" DESC LIMIT 101 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/lib/gitlab/graphql/pagination/keyset/connection.rb:122:in `block in limited_nodes'*/6863 SELECT "ci_group_variables".* FROM "ci_group_variables" WHERE "ci_group_variables"."group_id" = 2652 ORDER BY "ci_group_variables"."id" DESC LIMIT 101 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:ci,line:/lib/gitlab/graphql/pagination/keyset/connection.rb:122:in `block in limited_nodes'*/6864 SELECT "ci_runners".* FROM ((SELECT "ci_runners".* FROM "ci_runners" INNER JOIN "ci_runner_namespaces" ON "ci_runner_namespaces"."runner_id" = "ci_runners"."id" WHERE "ci_runner_namespaces"."namespace_id" IN (SELECT "ci_namespace_mirrors"."namespace_id" FROM "ci_namespace_mirrors" WHERE (traversal_ids @> ARRAY[2652]::int[])))6865 UNION ALL6866 (SELECT DISTINCT "ci_runners".* FROM "ci_runners" INNER JOIN "ci_runner_projects" ON "ci_runner_projects"."runner_id" = "ci_runners"."id" WHERE "ci_runner_projects"."project_id" IN (SELECT "ci_project_mirrors"."project_id" FROM "ci_project_mirrors" WHERE "ci_project_mirrors"."namespace_id" IN (SELECT "ci_namespace_mirrors"."namespace_id" FROM "ci_namespace_mirrors" WHERE (traversal_ids @> ARRAY[2652]::int[]))))) ci_runners ORDER BY "ci_runners"."created_at" DESC, "ci_runners"."id" DESC LIMIT 101 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:ci,line:/lib/gitlab/graphql/pagination/keyset/connection.rb:122:in `block in limited_nodes'*/6867 SELECT COUNT(*) FROM ((SELECT "ci_runners".* FROM "ci_runners" INNER JOIN "ci_runner_namespaces" ON "ci_runner_namespaces"."runner_id" = "ci_runners"."id" WHERE "ci_runner_namespaces"."namespace_id" IN (SELECT "ci_namespace_mirrors"."namespace_id" FROM "ci_namespace_mirrors" WHERE (traversal_ids @> ARRAY[2652]::int[])))6868 UNION ALL6869 (SELECT DISTINCT "ci_runners".* FROM "ci_runners" INNER JOIN "ci_runner_projects" ON "ci_runner_projects"."runner_id" = "ci_runners"."id" WHERE "ci_runner_projects"."project_id" IN (SELECT "ci_project_mirrors"."project_id" FROM "ci_project_mirrors" WHERE "ci_project_mirrors"."namespace_id" IN (SELECT "ci_namespace_mirrors"."namespace_id" FROM "ci_namespace_mirrors" WHERE (traversal_ids @> ARRAY[2652]::int[]))))) ci_runners /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:ci,line:/app/graphql/types/countable_connection_type.rb:20:in `count'*/6870 SELECT "work_item_types".* FROM "work_item_types" WHERE "work_item_types"."namespace_id" IS NULL ORDER BY LOWER("work_item_types"."name") ASC, "work_item_types"."id" DESC LIMIT 1016871 SELECT "releases".* FROM (WITH RECURSIVE "array_cte" AS MATERIALIZED (SELECT "projects"."id" FROM "projects" WHERE "projects"."namespace_id" IN (SELECT "namespaces"."id" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2652}')))), "recursive_keyset_cte" AS ((SELECT NULL::releases AS records, array_cte_id_array, releases_released_at_array, releases_id_array, 0::bigint AS count FROM (SELECT ARRAY_AGG("array_cte"."id") AS array_cte_id_array, ARRAY_AGG("releases"."released_at") AS releases_released_at_array, ARRAY_AGG("releases"."id") AS releases_id_array FROM (SELECT "array_cte"."id" FROM array_cte) array_cte LEFT JOIN LATERAL (SELECT "releases"."released_at" AS released_at, "releases"."id" AS id FROM "releases" WHERE "releases"."project_id" = "array_cte"."id" ORDER BY "releases"."released_at" DESC, "releases"."id" DESC LIMIT 1) releases ON TRUE WHERE "releases"."released_at" IS NOT NULL AND "releases"."id" IS NOT NULL) array_scope_lateral_query LIMIT 1)6872 UNION ALL6873 (SELECT (SELECT releases FROM "releases" WHERE "releases"."id" = recursive_keyset_cte.releases_id_array[position] LIMIT 1), array_cte_id_array, recursive_keyset_cte.releases_released_at_array[:position_query.position-1]||next_cursor_values.released_at||recursive_keyset_cte.releases_released_at_array[position_query.position+1:], recursive_keyset_cte.releases_id_array[:position_query.position-1]||next_cursor_values.id||recursive_keyset_cte.releases_id_array[position_query.position+1:], recursive_keyset_cte.count + 1 FROM recursive_keyset_cte,6874 LATERAL (SELECT released_at, id, position FROM UNNEST(releases_released_at_array, releases_id_array) WITH ORDINALITY AS u(released_at, id, position) WHERE released_at IS NOT NULL AND id IS NOT NULL ORDER BY 1 DESC, 2 DESC LIMIT 1) AS position_query,6875 LATERAL (SELECT "record"."released_at", "record"."id" FROM (VALUES (NULL, NULL)) AS nulls LEFT JOIN (SELECT "releases"."released_at" AS released_at, "releases"."id" AS id FROM "releases" WHERE "releases"."project_id" = recursive_keyset_cte.array_cte_id_array[position] AND (("releases"."released_at", "releases"."id") < (recursive_keyset_cte.releases_released_at_array[position], recursive_keyset_cte.releases_id_array[position])) ORDER BY "releases"."released_at" DESC, "releases"."id" DESC LIMIT 1) record ON TRUE LIMIT 1) AS next_cursor_values6876 )) SELECT (records).* FROM "recursive_keyset_cte" AS "releases" WHERE (count <> 0)) releases LIMIT 100 OFFSET 0 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/lib/gitlab/graphql/connection_redaction.rb:23:in `block in nodes'*/6877 SELECT COUNT(*) FROM (WITH RECURSIVE "array_cte" AS MATERIALIZED (SELECT "projects"."id" FROM "projects" WHERE "projects"."namespace_id" IN (SELECT "namespaces"."id" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2652}')))), "recursive_keyset_cte" AS ((SELECT NULL::releases AS records, array_cte_id_array, releases_released_at_array, releases_id_array, 0::bigint AS count FROM (SELECT ARRAY_AGG("array_cte"."id") AS array_cte_id_array, ARRAY_AGG("releases"."released_at") AS releases_released_at_array, ARRAY_AGG("releases"."id") AS releases_id_array FROM (SELECT "array_cte"."id" FROM array_cte) array_cte LEFT JOIN LATERAL (SELECT "releases"."released_at" AS released_at, "releases"."id" AS id FROM "releases" WHERE "releases"."project_id" = "array_cte"."id" ORDER BY "releases"."released_at" DESC, "releases"."id" DESC LIMIT 1) releases ON TRUE WHERE "releases"."released_at" IS NOT NULL AND "releases"."id" IS NOT NULL) array_scope_lateral_query LIMIT 1)6878 UNION ALL6879 (SELECT (SELECT releases FROM "releases" WHERE "releases"."id" = recursive_keyset_cte.releases_id_array[position] LIMIT 1), array_cte_id_array, recursive_keyset_cte.releases_released_at_array[:position_query.position-1]||next_cursor_values.released_at||recursive_keyset_cte.releases_released_at_array[position_query.position+1:], recursive_keyset_cte.releases_id_array[:position_query.position-1]||next_cursor_values.id||recursive_keyset_cte.releases_id_array[position_query.position+1:], recursive_keyset_cte.count + 1 FROM recursive_keyset_cte,6880 LATERAL (SELECT released_at, id, position FROM UNNEST(releases_released_at_array, releases_id_array) WITH ORDINALITY AS u(released_at, id, position) WHERE released_at IS NOT NULL AND id IS NOT NULL ORDER BY 1 DESC, 2 DESC LIMIT 1) AS position_query,6881 LATERAL (SELECT "record"."released_at", "record"."id" FROM (VALUES (NULL, NULL)) AS nulls LEFT JOIN (SELECT "releases"."released_at" AS released_at, "releases"."id" AS id FROM "releases" WHERE "releases"."project_id" = recursive_keyset_cte.array_cte_id_array[position] AND (("releases"."released_at", "releases"."id") < (recursive_keyset_cte.releases_released_at_array[position], recursive_keyset_cte.releases_id_array[position])) ORDER BY "releases"."released_at" DESC, "releases"."id" DESC LIMIT 1) record ON TRUE LIMIT 1) AS next_cursor_values6882 )) SELECT (records).* FROM "recursive_keyset_cte" AS "releases" WHERE (count <> 0)) releases /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/app/graphql/types/countable_connection_type.rb:20:in `count'*/6883 SELECT "sprints".* FROM "sprints" WHERE "sprints"."group_id" IN (SELECT "namespaces"."id" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND "namespaces"."id" = 2652) ORDER BY "sprints"."due_date" ASC, "sprints"."title" ASC, "sprints"."id" ASC LIMIT 100 OFFSET 0 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/lib/gitlab/graphql/connection_redaction.rb:23:in `block in nodes'*/6884 SELECT "iterations_cadences".* FROM "iterations_cadences" WHERE "iterations_cadences"."group_id" = 2652 ORDER BY "iterations_cadences"."title" ASC LIMIT 100 OFFSET 0 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/lib/gitlab/graphql/connection_redaction.rb:23:in `block in nodes'*/6885 SELECT "vulnerability_reads".* FROM "vulnerability_reads" WHERE "vulnerability_reads"."namespace_id" IN (SELECT "namespaces"."id" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2652}'))) ORDER BY "vulnerability_reads"."severity" DESC, "vulnerability_reads"."vulnerability_id" DESC LIMIT 101 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/lib/unnested_in_filters/dsl.rb:62:in `load'*/6886 SELECT DISTINCT ON ("vulnerability_scanners"."external_id", "report_types"."report_type") "vulnerability_scanners".*, "report_types"."report_type" AS "report_type" FROM "vulnerability_scanners" JOIN LATERAL (SELECT "vulnerability_occurrences"."report_type" FROM "vulnerability_occurrences" WHERE "vulnerability_occurrences"."scanner_id" = "vulnerability_scanners"."id" LIMIT 1) report_types ON true WHERE "vulnerability_scanners"."project_id" IN (SELECT "projects"."id" FROM "projects" WHERE "projects"."namespace_id" IN (SELECT "namespaces"."id" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2652}'))) AND "projects"."archived" = FALSE AND "projects"."pending_delete" = FALSE) ORDER BY "vulnerability_scanners"."external_id" ASC, "report_types"."report_type" ASC /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/ee/app/graphql/resolvers/vulnerabilities/scanners_resolver.rb:14:in `map'*/6887 SELECT COUNT(*) FROM "releases" INNER JOIN "projects" ON "projects"."id" = "releases"."project_id" WHERE "projects"."namespace_id" IN (SELECT "namespaces"."id" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2652}'))) /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/ee/app/models/ee/group.rb:650:in `releases_count'*/6888 SELECT (6889 COUNT(*) FILTER (WHERE EXISTS (SELECT 1 FROM releases WHERE releases.project_id = projects.id)) * 100.0 / GREATEST(COUNT(*), 1)6890 )::integer AS releases_percentage6891 FROM "projects" WHERE "projects"."namespace_id" IN (SELECT "namespaces"."id" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2652}'))) /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/ee/app/models/ee/group.rb:660:in `releases_percentage'*/6892 SELECT "users"."id" FROM "users" WHERE "users"."id" IN (SELECT "members"."user_id" FROM "members" LEFT OUTER JOIN "users" ON "users"."id" = "members"."user_id" WHERE "members"."type" = 'GroupMember' AND "members"."source_type" = 'Namespace' AND "users"."state" = 'active' AND "members"."state" = 0 AND "members"."requested_at" IS NULL AND "members"."invite_token" IS NULL AND (members.access_level > 5) AND "members"."source_id" IN (SELECT "namespaces"."id" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2652}'))) AND "members"."user_id" NOT IN (SELECT "namespace_bans"."user_id" FROM "namespace_bans" WHERE "namespace_bans"."namespace_id" = 2652)) AND "users"."user_type" IN (0, 4, 5) /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/ee/app/finders/namespaces/billed_users_finder.rb:32:in `calculate_user_ids'*/6893 SELECT "users"."id" FROM "users" WHERE "users"."id" IN (SELECT "members"."user_id" FROM "members" WHERE "members"."type" IN ('ProjectMember', 'ProjectNamespaceMember') AND "members"."source_type" = 'Project' AND "members"."state" = 0 AND "members"."requested_at" IS NULL AND "members"."invite_token" IS NULL AND (members.access_level > 5) AND "members"."source_id" IN (SELECT "projects"."id" FROM "projects" INNER JOIN "namespaces" ON "namespaces"."type" = 'Group' AND "namespaces"."id" = "projects"."namespace_id" AND "namespaces"."type" = 'Group' WHERE "projects"."namespace_id" IN (SELECT "namespaces"."id" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2652}')))) AND "members"."user_id" NOT IN (SELECT "namespace_bans"."user_id" FROM "namespace_bans" WHERE "namespace_bans"."namespace_id" = 2652)) AND "users"."user_type" IN (0, 4, 5) AND ("users"."state" IN ('active')) /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/ee/app/finders/namespaces/billed_users_finder.rb:32:in `calculate_user_ids'*/6894 SELECT "users"."id" FROM "users" WHERE "users"."id" IN (SELECT "members"."user_id" FROM "members" LEFT OUTER JOIN "users" ON "users"."id" = "members"."user_id" WHERE "users"."state" = 'active' AND "members"."state" = 0 AND "members"."requested_at" IS NULL AND "members"."invite_token" IS NULL AND (members.access_level > 5) AND "members"."source_id" IN (WITH "base_ancestors_cte" AS MATERIALIZED (SELECT "namespaces"."traversal_ids" FROM "namespaces" INNER JOIN "group_group_links" ON "group_group_links"."shared_with_group_id" = "namespaces"."id" WHERE "namespaces"."type" = 'Group' AND "group_group_links"."shared_group_id" IN (SELECT "namespaces"."id" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2652}')))) SELECT "namespaces"."id" FROM "namespaces" INNER JOIN (SELECT DISTINCT unnest("base_ancestors_cte"."traversal_ids") FROM base_ancestors_cte) AS ancestors(ancestor_id) ON namespaces.id = ancestors.ancestor_id WHERE "namespaces"."type" = 'Group') AND "members"."type" = 'GroupMember' AND "members"."source_type" = 'Namespace' AND "members"."user_id" NOT IN (SELECT "namespace_bans"."user_id" FROM "namespace_bans" WHERE "namespace_bans"."namespace_id" = 2652)) AND "users"."user_type" IN (0, 4, 5) /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/ee/app/finders/namespaces/billed_users_finder.rb:32:in `calculate_user_ids'*/6895 SELECT "users"."id" FROM "users" WHERE "users"."id" IN (SELECT "members"."user_id" FROM "members" LEFT OUTER JOIN "users" ON "users"."id" = "members"."user_id" WHERE "users"."state" = 'active' AND "members"."state" = 0 AND "members"."requested_at" IS NULL AND "members"."invite_token" IS NULL AND (members.access_level > 5) AND "members"."source_id" IN (WITH "base_ancestors_cte" AS MATERIALIZED (SELECT "namespaces"."traversal_ids" FROM "namespaces" INNER JOIN "project_group_links" ON "project_group_links"."group_id" = "namespaces"."id" WHERE "namespaces"."type" = 'Group' AND "project_group_links"."project_id" IN (SELECT "projects"."id" FROM "projects" WHERE "projects"."namespace_id" IN (SELECT namespaces.traversal_ids[array_length(namespaces.traversal_ids, 1)] AS id FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2652}'))))) SELECT "namespaces"."id" FROM "namespaces" INNER JOIN (SELECT DISTINCT unnest("base_ancestors_cte"."traversal_ids") FROM base_ancestors_cte) AS ancestors(ancestor_id) ON namespaces.id = ancestors.ancestor_id WHERE "namespaces"."type" = 'Group') AND "members"."type" = 'GroupMember' AND "members"."source_type" = 'Namespace' AND "members"."user_id" NOT IN (SELECT "namespace_bans"."user_id" FROM "namespace_bans" WHERE "namespace_bans"."namespace_id" = 2652)) AND "users"."user_type" IN (0, 4, 5) /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/ee/app/finders/namespaces/billed_users_finder.rb:32:in `calculate_user_ids'*/6896 SELECT "merge_requests_compliance_violations".* FROM (WITH RECURSIVE "array_cte" AS MATERIALIZED (SELECT "projects"."id" FROM "projects" WHERE "projects"."namespace_id" IN (SELECT namespaces.traversal_ids[array_length(namespaces.traversal_ids, 1)] AS id FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2652}')))), "recursive_keyset_cte" AS ((SELECT NULL::merge_requests_compliance_violations AS records, array_cte_id_array, merge_requests_compliance_violations_severity_level_array, merge_requests_compliance_violations_id_array, 0::bigint AS count FROM (SELECT ARRAY_AGG("array_cte"."id") AS array_cte_id_array, ARRAY_AGG("merge_requests_compliance_violations"."severity_level") AS merge_requests_compliance_violations_severity_level_array, ARRAY_AGG("merge_requests_compliance_violations"."id") AS merge_requests_compliance_violations_id_array FROM (SELECT "array_cte"."id" FROM array_cte) array_cte LEFT JOIN LATERAL (SELECT "merge_requests_compliance_violations"."severity_level" AS severity_level, "merge_requests_compliance_violations"."id" AS id FROM "merge_requests_compliance_violations" WHERE "merge_requests_compliance_violations"."target_project_id" = "array_cte"."id" ORDER BY "merge_requests_compliance_violations"."severity_level" DESC, "merge_requests_compliance_violations"."id" DESC LIMIT 1) merge_requests_compliance_violations ON TRUE WHERE "merge_requests_compliance_violations"."severity_level" IS NOT NULL AND "merge_requests_compliance_violations"."id" IS NOT NULL) array_scope_lateral_query LIMIT 1)6897 UNION ALL6898 (SELECT (SELECT merge_requests_compliance_violations FROM "merge_requests_compliance_violations" WHERE "merge_requests_compliance_violations"."id" = recursive_keyset_cte.merge_requests_compliance_violations_id_array[position] LIMIT 1), array_cte_id_array, recursive_keyset_cte.merge_requests_compliance_violations_severity_level_array[:position_query.position-1]||next_cursor_values.severity_level||recursive_keyset_cte.merge_requests_compliance_violations_severity_level_array[position_query.position+1:], recursive_keyset_cte.merge_requests_compliance_violations_id_array[:position_query.position-1]||next_cursor_values.id||recursive_keyset_cte.merge_requests_compliance_violations_id_array[position_query.position+1:], recursive_keyset_cte.count + 1 FROM recursive_keyset_cte,6899 LATERAL (SELECT severity_level, id, position FROM UNNEST(merge_requests_compliance_violations_severity_level_array, merge_requests_compliance_violations_id_array) WITH ORDINALITY AS u(severity_level, id, position) WHERE severity_level IS NOT NULL AND id IS NOT NULL ORDER BY 1 DESC, 2 DESC LIMIT 1) AS position_query,6900 LATERAL (SELECT "record"."severity_level", "record"."id" FROM (VALUES (NULL, NULL)) AS nulls LEFT JOIN (SELECT "merge_requests_compliance_violations"."severity_level" AS severity_level, "merge_requests_compliance_violations"."id" AS id FROM "merge_requests_compliance_violations" WHERE "merge_requests_compliance_violations"."target_project_id" = recursive_keyset_cte.array_cte_id_array[position] AND (("merge_requests_compliance_violations"."severity_level", "merge_requests_compliance_violations"."id") < (recursive_keyset_cte.merge_requests_compliance_violations_severity_level_array[position], recursive_keyset_cte.merge_requests_compliance_violations_id_array[position])) ORDER BY "merge_requests_compliance_violations"."severity_level" DESC, "merge_requests_compliance_violations"."id" DESC LIMIT 1) record ON TRUE LIMIT 1) AS next_cursor_values6901 )) SELECT (records).* FROM "recursive_keyset_cte" AS "merge_requests_compliance_violations" WHERE (count <> 0)) merge_requests_compliance_violations LIMIT 100 OFFSET 0 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/lib/gitlab/graphql/connection_redaction.rb:23:in `block in nodes'*/6902 SELECT "namespace_ci_cd_settings".* FROM "namespace_ci_cd_settings" WHERE "namespace_ci_cd_settings"."namespace_id" = 2652 LIMIT 1 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/ee/app/models/ee/ci/namespace_settings.rb:14:in `allow_stale_runner_pruning?'*/6903 SELECT "cluster_agents".* FROM "cluster_agents" WHERE "cluster_agents"."project_id" IN (SELECT "projects"."id" FROM "projects" WHERE "projects"."namespace_id" IN (SELECT namespaces.traversal_ids[array_length(namespaces.traversal_ids, 1)] AS id FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2652}')))) ORDER BY "cluster_agents"."name" ASC, "cluster_agents"."id" DESC LIMIT 101 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/lib/gitlab/graphql/pagination/keyset/connection.rb:122:in `block in limited_nodes'*/6904 SELECT COUNT(*) FROM "cluster_agents" WHERE "cluster_agents"."project_id" IN (SELECT "projects"."id" FROM "projects" WHERE "projects"."namespace_id" IN (SELECT namespaces.traversal_ids[array_length(namespaces.traversal_ids, 1)] AS id FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2652}')))) /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/app/graphql/types/countable_connection_type.rb:20:in `count'*/6905 SELECT "projects".* FROM "projects" WHERE "projects"."namespace_id" = 2652 ORDER BY "projects"."id" DESC LIMIT 101 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/lib/gitlab/graphql/pagination/keyset/connection.rb:122:in `block in limited_nodes'*/6906 SELECT COUNT(*) FROM "projects" WHERE "projects"."namespace_id" = 2652 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/app/graphql/types/countable_connection_type.rb:20:in `count'*/6907 SELECT "namespace_package_settings".* FROM "namespace_package_settings" WHERE "namespace_package_settings"."namespace_id" = 2652 LIMIT 1 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/app/models/namespace.rb:285:in `package_settings'*/6908 SELECT "timelog_categories".* FROM "timelog_categories" WHERE "timelog_categories"."namespace_id" = 2652 ORDER BY "timelog_categories"."id" DESC LIMIT 101 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/lib/gitlab/graphql/pagination/keyset/connection.rb:122:in `block in limited_nodes'*/6909 SELECT "achievements".* FROM "achievements" WHERE "achievements"."namespace_id" = 2652 ORDER BY "achievements"."id" DESC LIMIT 101 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/lib/gitlab/graphql/pagination/keyset/connection.rb:122:in `block in limited_nodes'*/6910 SELECT "namespace_limits".* FROM "namespace_limits" WHERE "namespace_limits"."namespace_id" = 2652 LIMIT 1 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/ee/app/models/ee/namespace.rb:160:in `namespace_limit'*/6911 SELECT SUM((("project_statistics"."repository_size" + "project_statistics"."lfs_objects_size") - "projects"."repository_size_limit")) FROM "projects" INNER JOIN "project_statistics" ON "project_statistics"."project_id" = "projects"."id" WHERE "projects"."namespace_id" IN (SELECT namespaces.traversal_ids[array_length(namespaces.traversal_ids, 1)] AS id FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2652}'))) AND "projects"."repository_size_limit" != 0 AND ("project_statistics"."repository_size" + "project_statistics"."lfs_objects_size") > "projects"."repository_size_limit" LIMIT 1 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/ee/app/models/ee/namespace.rb:246:in `block in total_repository_size_excess'*/6912 SELECT SUM(("project_statistics"."repository_size" + "project_statistics"."lfs_objects_size")) FROM "projects" INNER JOIN "project_statistics" ON "project_statistics"."project_id" = "projects"."id" WHERE "projects"."namespace_id" IN (SELECT namespaces.traversal_ids[array_length(namespaces.traversal_ids, 1)] AS id FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2652}'))) LIMIT 1 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/ee/app/models/ee/namespace.rb:260:in `block in total_repository_size'*/6913 SELECT COUNT(*) FROM "projects" INNER JOIN "project_statistics" ON "project_statistics"."project_id" = "projects"."id" WHERE "projects"."namespace_id" IN (SELECT namespaces.traversal_ids[array_length(namespaces.traversal_ids, 1)] AS id FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2652}'))) AND "projects"."repository_size_limit" != 0 AND ("project_statistics"."repository_size" + "project_statistics"."lfs_objects_size") > "projects"."repository_size_limit" /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/ee/app/models/ee/namespace.rb:252:in `block in repository_size_excess_project_count'*/6914 SELECT "security_orchestration_policy_configurations".* FROM "security_orchestration_policy_configurations" WHERE "security_orchestration_policy_configurations"."namespace_id" = 2652 LIMIT 1 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/ee/app/finders/security/scan_policy_base_finder.rb:27:in `policy_configuration'*/6915 SELECT "timelogs"."id", "timelogs"."time_spent", "timelogs"."user_id", "timelogs"."created_at", "timelogs"."updated_at", "timelogs"."issue_id", "timelogs"."merge_request_id", "timelogs"."spent_at", "timelogs"."project_id", "timelogs"."summary", "timelogs"."note_id" FROM "timelogs" INNER JOIN "projects" ON "projects"."id" = "timelogs"."project_id" WHERE "projects"."namespace_id" IN (SELECT "namespaces"."id" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2652}'))) AND (spent_at >= '2021-03-01 00:00:00') AND (spent_at <= '2021-03-30 23:59:59.999999') ORDER BY "timelogs"."spent_at" ASC NULLS LAST, "timelogs"."id" DESC LIMIT 101 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/lib/gitlab/graphql/pagination/keyset/connection.rb:122:in `block in limited_nodes'*/6916 SELECT SUM("timelogs"."time_spent") FROM "timelogs" INNER JOIN "projects" ON "projects"."id" = "timelogs"."project_id" WHERE "projects"."namespace_id" IN (SELECT "namespaces"."id" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2652}'))) AND (spent_at >= '2021-03-01 00:00:00') AND (spent_at <= '2021-03-30 23:59:59.999999') /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/app/graphql/types/time_tracking/timelog_connection_type.rb:20:in `total_spent_time'*/6917 SELECT COUNT(*) FROM "timelogs" INNER JOIN "projects" ON "projects"."id" = "timelogs"."project_id" WHERE "projects"."namespace_id" IN (SELECT "namespaces"."id" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND (traversal_ids @> ('{2652}'))) AND (spent_at >= '2021-03-01 00:00:00') AND (spent_at <= '2021-03-30 23:59:59.999999') /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/app/graphql/types/countable_connection_type.rb:20:in `count'*/6918 SELECT "namespaces".* FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND "namespaces"."id" = 0 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/lib/gitlab/graphql/loaders/batch_model_loader.rb:25:in `block in find'*/6919 SELECT "namespace_root_storage_statistics".* FROM "namespace_root_storage_statistics" WHERE "namespace_root_storage_statistics"."namespace_id" IN (2651, 2652) /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/lib/gitlab/graphql/loaders/batch_root_storage_statistics_loader.rb:15:in `block in find'*/6920 SELECT "compliance_management_frameworks"."id" AS t0_r0, "compliance_management_frameworks"."name" AS t0_r1, "compliance_management_frameworks"."description" AS t0_r2, "compliance_management_frameworks"."color" AS t0_r3, "compliance_management_frameworks"."namespace_id" AS t0_r4, "compliance_management_frameworks"."pipeline_configuration_full_path" AS t0_r5, "compliance_management_frameworks"."created_at" AS t0_r6, "compliance_management_frameworks"."updated_at" AS t0_r7, "namespaces"."id" AS t1_r0, "namespaces"."name" AS t1_r1, "namespaces"."path" AS t1_r2, "namespaces"."owner_id" AS t1_r3, "namespaces"."created_at" AS t1_r4, "namespaces"."updated_at" AS t1_r5, "namespaces"."type" AS t1_r6, "namespaces"."description" AS t1_r7, "namespaces"."avatar" AS t1_r8, "namespaces"."membership_lock" AS t1_r9, "namespaces"."share_with_group_lock" AS t1_r10, "namespaces"."visibility_level" AS t1_r11, "namespaces"."request_access_enabled" AS t1_r12, "namespaces"."ldap_sync_status" AS t1_r13, "namespaces"."ldap_sync_error" AS t1_r14, "namespaces"."ldap_sync_last_update_at" AS t1_r15, "namespaces"."ldap_sync_last_successful_update_at" AS t1_r16, "namespaces"."ldap_sync_last_sync_at" AS t1_r17, "namespaces"."description_html" AS t1_r18, "namespaces"."lfs_enabled" AS t1_r19, "namespaces"."parent_id" AS t1_r20, "namespaces"."shared_runners_minutes_limit" AS t1_r21, "namespaces"."repository_size_limit" AS t1_r22, "namespaces"."require_two_factor_authentication" AS t1_r23, "namespaces"."two_factor_grace_period" AS t1_r24, "namespaces"."cached_markdown_version" AS t1_r25, "namespaces"."project_creation_level" AS t1_r26, "namespaces"."runners_token" AS t1_r27, "namespaces"."file_template_project_id" AS t1_r28, "namespaces"."saml_discovery_token" AS t1_r29, "namespaces"."runners_token_encrypted" AS t1_r30, "namespaces"."custom_project_templates_group_id" AS t1_r31, "namespaces"."auto_devops_enabled" AS t1_r32, "namespaces"."extra_shared_runners_minutes_limit" AS t1_r33, "namespaces"."last_ci_minutes_notification_at" AS t1_r34, "namespaces"."last_ci_minutes_usage_notification_level" AS t1_r35, "namespaces"."subgroup_creation_level" AS t1_r36, "namespaces"."emails_disabled" AS t1_r37, "namespaces"."max_pages_size" AS t1_r38, "namespaces"."max_artifacts_size" AS t1_r39, "namespaces"."mentions_disabled" AS t1_r40, "namespaces"."default_branch_protection" AS t1_r41, "namespaces"."unlock_membership_to_ldap" AS t1_r42, "namespaces"."max_personal_access_token_lifetime" AS t1_r43, "namespaces"."push_rule_id" AS t1_r44, "namespaces"."shared_runners_enabled" AS t1_r45, "namespaces"."allow_descendants_override_disabled_shared_runners" AS t1_r46, "namespaces"."traversal_ids" AS t1_r47, "namespaces"."organization_id" AS t1_r48 FROM "compliance_management_frameworks" LEFT OUTER JOIN "namespaces" ON "namespaces"."id" = "compliance_management_frameworks"."namespace_id" WHERE "namespaces"."id" IN (2651, 2652) /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/ee/app/graphql/resolvers/compliance_management/framework_resolver.rb:30:in `group_by'*/6921 SELECT "users".* FROM "users" WHERE "users"."id" IN (1862, 1863) /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/app/graphql/resolvers/group_members/notification_email_resolver.rb:14:in `block in resolve'*/6922 SELECT "namespaces"."id" FROM "namespaces" WHERE "namespaces"."type" = 'Group' AND "namespaces"."id" = 2651 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/app/models/group.rb:571:in `block in self_and_ancestors_ids'*/6923 SELECT "notification_settings".* FROM "notification_settings" WHERE "notification_settings"."source_type" = 'Namespace' AND "notification_settings"."source_id" = 2651 AND "notification_settings"."user_id" = 1862 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/app/models/group.rb:373:in `notification_email_for'*/6924 SELECT "notification_settings".* FROM "notification_settings" WHERE "notification_settings"."source_type" = 'Namespace' AND "notification_settings"."source_id" = 2651 AND "notification_settings"."user_id" = 1863 /*application:test,correlation_id:d7371116-b3f9-4ecf-93b5-2ed229d0b314,endpoint_id:GraphqlController#execute,db_config_name:main,line:/app/models/group.rb:373:in `notification_email_for'*/6925 # ./spec/requests/api/graphql/group_query_spec.rb:106:in `block (4 levels) in <top (required)>'6926 # ./spec/spec_helper.rb:415:in `block (3 levels) in <top (required)>'6927 # ./spec/support/sidekiq_middleware.rb:18:in `with_sidekiq_server_middleware'6928 # ./spec/spec_helper.rb:406:in `block (2 levels) in <top (required)>'6929 # ./spec/spec_helper.rb:402:in `block (3 levels) in <top (required)>'6930 # ./lib/gitlab/application_context.rb:61:in `with_raw_context'6931 # ./spec/spec_helper.rb:402:in `block (2 levels) in <top (required)>'6932 # ./spec/spec_helper.rb:242:in `block (2 levels) in <top (required)>'6933 # ./spec/support/system_exit_detected.rb:7:in `block (2 levels) in <top (required)>'6934 # ./spec/support/fast_quarantine.rb:23:in `block (2 levels) in <top (required)>'6935 # ./spec/support/database/prevent_cross_joins.rb:108:in `block (3 levels) in <top (required)>'6936 # ./spec/support/database/prevent_cross_joins.rb:62:in `with_cross_joins_prevented'6937 # ./spec/support/database/prevent_cross_joins.rb:108:in `block (2 levels) in <top (required)>'6938 2) getting group information Query group(fullPath) with timelog categories for N+1 queries avoids N+1 database queries6940 Failure/Error: expect { run_with_clean_state(query, context: ctx) }.not_to exceed_query_limit(control)6941 Expected a maximum of 3 queries, got 5:6942 Query Diff:6943 -----------6944 SELECT "saml_providers".* FROM "saml_providers"...6945 -- (expected: 0, got: 1)6946 WHERE "saml_providers"."group_id" = 2659 LIMIT 16947 SELECT "timelog_categories".* FROM "timelog_categories"...6948 -- (expected: 0, got: 1)6949 WHERE "timelog_categories"."namespace_id" = 2659 ORDER BY "timelog_categories"."id" DESC LIMIT 1016950 # ./spec/requests/api/graphql/group_query_spec.rb:201:in `block (5 levels) in <top (required)>'6951 # ./spec/spec_helper.rb:415:in `block (3 levels) in <top (required)>'6952 # ./spec/support/sidekiq_middleware.rb:18:in `with_sidekiq_server_middleware'6953 # ./spec/spec_helper.rb:406:in `block (2 levels) in <top (required)>'6954 # ./spec/spec_helper.rb:402:in `block (3 levels) in <top (required)>'6955 # ./lib/gitlab/application_context.rb:61:in `with_raw_context'6956 # ./spec/spec_helper.rb:402:in `block (2 levels) in <top (required)>'6957 # ./spec/spec_helper.rb:242:in `block (2 levels) in <top (required)>'6958 # ./spec/support/system_exit_detected.rb:7:in `block (2 levels) in <top (required)>'6959 # ./spec/support/fast_quarantine.rb:23:in `block (2 levels) in <top (required)>'6960 # ./spec/support/database/prevent_cross_joins.rb:108:in `block (3 levels) in <top (required)>'6961 # ./spec/support/database/prevent_cross_joins.rb:62:in `with_cross_joins_prevented'6962 # ./spec/support/database/prevent_cross_joins.rb:108:in `block (2 levels) in <top (required)>'6963Finished in 27 minutes 38 seconds (files took 1 minute 30.02 seconds to load)69642910 examples, 0 failures, 2 pending6965Randomized with seed 225746966[TEST PROF INFO] Time spent in factories: 13:11.849 (46.61% of total time)6967RSpec exited with 0.6968No examples to retry, congrats!6970Not uploading cache ruby-gems-debian-bullseye-ruby-3.0-16 due to policy6972Uploading artifacts...6973coverage/: found 5 matching artifact files and directories 6974crystalball/: found 2 matching artifact files and directories 6975WARNING: deprecations/: no matching files. Ensure that the artifact path is relative to the working directory (/builds/gitlab-org/gitlab) 6976knapsack/: found 4 matching artifact files and directories 6977WARNING: query_recorder/: no matching files. Ensure that the artifact path is relative to the working directory (/builds/gitlab-org/gitlab) 6978rspec/: found 16 matching artifact files and directories 6979WARNING: tmp/capybara/: no matching files. Ensure that the artifact path is relative to the working directory (/builds/gitlab-org/gitlab) 6980log/*.log: found 17 matching artifact files and directories 6981WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/4440957687/artifacts?artifact_format=zip&artifact_type=archive&expire_in=31d new-url=https://gitlab.com6982WARNING: Retrying... context=artifacts-uploader error=request redirected6983Uploading artifacts as "archive" to coordinator... 201 Created id=4440957687 responseStatus=201 Created token=64_JE86N6984Uploading artifacts...6985rspec/rspec-*.xml: found 1 matching artifact files and directories 6986WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/4440957687/artifacts?artifact_format=gzip&artifact_type=junit&expire_in=31d new-url=https://gitlab.com6987WARNING: Retrying... context=artifacts-uploader error=request redirected6988Uploading artifacts as "junit" to coordinator... 201 Created id=4440957687 responseStatus=201 Created token=64_JE86N6990Job succeeded