rspec-ee integration pg14 3/6
Passed Started
by
@dstull
Doug Stull
1Running with gitlab-runner 16.1.0~beta.59.g83c66823 (83c66823)2 on green-3.shared-gitlab-org.runners-manager.gitlab.com/default EuhiQzPR, system ID: s_360bc95445273 feature flags: FF_NETWORK_PER_BUILD:true, FF_USE_FASTZIP:true, FF_USE_IMPROVED_URL_MASKING:true, FF_RESOLVE_FULL_TLS_CHAIN:false6Using Docker executor with image registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0.patched-golang-1.20-rust-1.65-node-18.17-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:d0675d033b87382205d08b598a004a99a1f6c4bd377cc86bb6df8957ce7dbb1c for redis:6.2-alpine with digest redis@sha256:740b5c973d1c9eea6e124a3905ba73d32354d0549f98ccc9e67af1af2a9ba478 ...20WARNING: Service registry.gitlab.com/gitlab-org/gitlab-build-images:zoekt-ci-image-1.2 is already created. Ignoring.21WARNING: Service registry.gitlab.com/gitlab-org/gitlab-build-images:zoekt-ci-image-1.2 is already created. Ignoring.22Starting service registry.gitlab.com/gitlab-org/gitlab-build-images:zoekt-ci-image-1.2 ...23Authenticating with credentials from job payload (GitLab Registry)24Pulling docker image registry.gitlab.com/gitlab-org/gitlab-build-images:zoekt-ci-image-1.2 ...25Using docker image sha256:c635f6eed733b5c5a06d4a28aff99748c4cbefca04af192e08f10d87387c6485 for registry.gitlab.com/gitlab-org/gitlab-build-images:zoekt-ci-image-1.2 with digest registry.gitlab.com/gitlab-org/gitlab-build-images@sha256:b3cc177faa2dc274a32b66866536932c39be8578316b364363735fc0b8e1f9cb ...26Starting service elasticsearch:7.17.6 ...27Pulling docker image elasticsearch:7.17.6 ...28Using docker image sha256:5fad10241ffd65d817ed0ddfaf6e87eee1f7dc2a7db33db1047835560ea71fda for elasticsearch:7.17.6 with digest elasticsearch@sha256:6c128de5d01c0c130a806022d6bd99b3e4c27a9af5bfc33b6b81861ae117d028 ...29Waiting for services to be up and running (timeout 30 seconds)...30*** WARNING: Service runner-euhiqzpr-project-278964-concurrent-0-0f08deee2492745f-elasticsearch-4 probably didn't start properly.31Health check error:32service "runner-euhiqzpr-project-278964-concurrent-0-0f08deee2492745f-elasticsearch-4-wait-for-service" timeout33Health check container logs:342023-08-18T12:54:52.057963709Z waiting for TCP connection to 7628f650717e on [9200 9300]...352023-08-18T12:54:52.058007720Z dialing 7628f650717e:9300...362023-08-18T12:54:52.058012640Z dialing 7628f650717e:9200...372023-08-18T12:54:53.060524156Z dialing 7628f650717e:9300...382023-08-18T12:54:53.060791596Z dialing 7628f650717e:9200...392023-08-18T12:54:54.062276532Z dialing 7628f650717e:9200...402023-08-18T12:54:54.062312662Z dialing 7628f650717e:9300...412023-08-18T12:54:55.062902168Z dialing 7628f650717e:9300...422023-08-18T12:54:55.062939968Z dialing 7628f650717e:9200...432023-08-18T12:54:56.063644126Z dialing 7628f650717e:9300...442023-08-18T12:54:56.063779666Z dialing 7628f650717e:9200...452023-08-18T12:54:57.064953901Z dialing 7628f650717e:9300...462023-08-18T12:54:57.065396091Z dialing 7628f650717e:9200...472023-08-18T12:54:58.065969188Z dialing 7628f650717e:9200...482023-08-18T12:54:58.066017598Z dialing 7628f650717e:9300...492023-08-18T12:54:59.067282645Z dialing 7628f650717e:9200...502023-08-18T12:54:59.067315585Z dialing 7628f650717e:9300...512023-08-18T12:55:00.067879931Z dialing 7628f650717e:9200...522023-08-18T12:55:00.067971581Z dialing 7628f650717e:9300...532023-08-18T12:55:01.070225917Z dialing 7628f650717e:9300...542023-08-18T12:55:01.070261887Z dialing 7628f650717e:9200...552023-08-18T12:55:02.071405843Z dialing 7628f650717e:9200...562023-08-18T12:55:02.071434123Z dialing 7628f650717e:9300...572023-08-18T12:55:03.073157100Z dialing 7628f650717e:9200...582023-08-18T12:55:03.073193230Z dialing 7628f650717e:9300...592023-08-18T12:55:04.074133116Z dialing 7628f650717e:9200...602023-08-18T12:55:04.074170336Z dialing 7628f650717e:9300...612023-08-18T12:55:05.075220833Z dialing 7628f650717e:9300...622023-08-18T12:55:05.075253813Z dialing 7628f650717e:9200...632023-08-18T12:55:06.075806730Z dialing 7628f650717e:9200...642023-08-18T12:55:06.076354599Z dialing 7628f650717e:9300...652023-08-18T12:55:07.076580235Z dialing 7628f650717e:9200...662023-08-18T12:55:07.076917385Z dialing 7628f650717e:9300...672023-08-18T12:55:08.078358812Z dialing 7628f650717e:9200...682023-08-18T12:55:08.078394422Z dialing 7628f650717e:9300...692023-08-18T12:55:09.078979388Z dialing 7628f650717e:9300...702023-08-18T12:55:09.079070058Z dialing 7628f650717e:9200...712023-08-18T12:55:10.080983784Z dialing 7628f650717e:9200...722023-08-18T12:55:10.081022304Z dialing 7628f650717e:9300...732023-08-18T12:55:11.082041530Z dialing 7628f650717e:9200...742023-08-18T12:55:11.082135630Z dialing 7628f650717e:9300...752023-08-18T12:55:12.083375176Z dialing 7628f650717e:9300...762023-08-18T12:55:12.083445556Z dialing 7628f650717e:9200...772023-08-18T12:55:13.085246661Z dialing 7628f650717e:9200...782023-08-18T12:55:13.085283432Z dialing 7628f650717e:9300...792023-08-18T12:55:14.085986888Z dialing 7628f650717e:9200...802023-08-18T12:55:14.086105748Z dialing 7628f650717e:9300...812023-08-18T12:55:15.087954994Z dialing 7628f650717e:9200...822023-08-18T12:55:15.088239804Z dialing 7628f650717e:9300...832023-08-18T12:55:16.089184400Z dialing 7628f650717e:9200...842023-08-18T12:55:16.089279569Z dialing 7628f650717e:9300...852023-08-18T12:55:17.090332426Z dialing 7628f650717e:9200...862023-08-18T12:55:17.090368366Z dialing 7628f650717e:9300...872023-08-18T12:55:18.091588872Z dialing 7628f650717e:9200...882023-08-18T12:55:18.091622392Z dialing 7628f650717e:9300...892023-08-18T12:55:19.092422789Z dialing 7628f650717e:9300...902023-08-18T12:55:19.092459439Z dialing 7628f650717e:9200...912023-08-18T12:55:20.094010404Z dialing 7628f650717e:9200...922023-08-18T12:55:20.094046024Z dialing 7628f650717e:9300...932023-08-18T12:55:21.094935621Z dialing 7628f650717e:9200...942023-08-18T12:55:21.094972961Z dialing 7628f650717e:9300...952023-08-18T12:55:22.096191597Z dialing 7628f650717e:9300...962023-08-18T12:55:22.096228687Z dialing 7628f650717e:9200...97Service container logs:982023-08-18T12:54:59.978727441Z {"type": "server", "timestamp": "2023-08-18T12:54:59,968Z", "level": "INFO", "component": "o.e.n.Node", "cluster.name": "docker-cluster", "node.name": "7628f650717e", "message": "version[7.17.6], pid[8], build[default/docker/f65e9d338dc1d07b642e14a27f338990148ee5b6/2022-08-23T11:08:48.893373482Z], OS[Linux/5.15.109+/amd64], JVM[Oracle Corporation/OpenJDK 64-Bit Server VM/18.0.2/18.0.2+9-61]" }992023-08-18T12:54:59.980014891Z {"type": "server", "timestamp": "2023-08-18T12:54:59,979Z", "level": "INFO", "component": "o.e.n.Node", "cluster.name": "docker-cluster", "node.name": "7628f650717e", "message": "JVM home [/usr/share/elasticsearch/jdk], using bundled JDK [true]" }1002023-08-18T12:54:59.980756691Z {"type": "server", "timestamp": "2023-08-18T12:54:59,980Z", "level": "INFO", "component": "o.e.n.Node", "cluster.name": "docker-cluster", "node.name": "7628f650717e", "message": "JVM arguments [-Xshare:auto, -Des.networkaddress.cache.ttl=60, -Des.networkaddress.cache.negative.ttl=10, -XX:+AlwaysPreTouch, -Xss1m, -Djava.awt.headless=true, -Dfile.encoding=UTF-8, -Djna.nosys=true, -XX:-OmitStackTraceInFastThrow, -XX:+ShowCodeDetailsInExceptionMessages, -Dio.netty.noUnsafe=true, -Dio.netty.noKeySetOptimization=true, -Dio.netty.recycler.maxCapacityPerThread=0, -Dio.netty.allocator.numDirectArenas=0, -Dlog4j.shutdownHookEnabled=false, -Dlog4j2.disable.jmx=true, -Dlog4j2.formatMsgNoLookups=true, -Djava.locale.providers=SPI,COMPAT, --add-opens=java.base/java.io=ALL-UNNAMED, -Djava.security.manager=allow, -XX:+UseG1GC, -Djava.io.tmpdir=/tmp/elasticsearch-12922533497353645788, -XX:+HeapDumpOnOutOfMemoryError, -XX:+ExitOnOutOfMemoryError, -XX:HeapDumpPath=data, -XX:ErrorFile=logs/hs_err_pid%p.log, -Xlog:gc*,gc+age=trace,safepoint:file=logs/gc.log:utctime,pid,tags:filecount=32,filesize=64m, -Des.cgroups.hierarchy.override=/, -Xms256m, -Xmx256m, -XX:MaxDirectMemorySize=134217728, -XX:G1HeapRegionSize=4m, -XX:InitiatingHeapOccupancyPercent=30, -XX:G1ReservePercent=15, -Des.path.home=/usr/share/elasticsearch, -Des.path.conf=/usr/share/elasticsearch/config, -Des.distribution.flavor=default, -Des.distribution.type=docker, -Des.bundled_jdk=true]" }1012023-08-18T12:55:04.895411644Z {"type": "server", "timestamp": "2023-08-18T12:55:04,894Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "7628f650717e", "message": "loaded module [aggs-matrix-stats]" }1022023-08-18T12:55:04.895666504Z {"type": "server", "timestamp": "2023-08-18T12:55:04,895Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "7628f650717e", "message": "loaded module [analysis-common]" }1032023-08-18T12:55:04.896053194Z {"type": "server", "timestamp": "2023-08-18T12:55:04,895Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "7628f650717e", "message": "loaded module [constant-keyword]" }1042023-08-18T12:55:04.896417253Z {"type": "server", "timestamp": "2023-08-18T12:55:04,896Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "7628f650717e", "message": "loaded module [frozen-indices]" }1052023-08-18T12:55:04.896709153Z {"type": "server", "timestamp": "2023-08-18T12:55:04,896Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "7628f650717e", "message": "loaded module [ingest-common]" }1062023-08-18T12:55:04.897058354Z {"type": "server", "timestamp": "2023-08-18T12:55:04,896Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "7628f650717e", "message": "loaded module [ingest-geoip]" }1072023-08-18T12:55:04.897426863Z {"type": "server", "timestamp": "2023-08-18T12:55:04,897Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "7628f650717e", "message": "loaded module [ingest-user-agent]" }1082023-08-18T12:55:04.897812724Z {"type": "server", "timestamp": "2023-08-18T12:55:04,897Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "7628f650717e", "message": "loaded module [kibana]" }1092023-08-18T12:55:04.898184763Z {"type": "server", "timestamp": "2023-08-18T12:55:04,897Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "7628f650717e", "message": "loaded module [lang-expression]" }1102023-08-18T12:55:04.898536913Z {"type": "server", "timestamp": "2023-08-18T12:55:04,898Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "7628f650717e", "message": "loaded module [lang-mustache]" }1112023-08-18T12:55:04.898930803Z {"type": "server", "timestamp": "2023-08-18T12:55:04,898Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "7628f650717e", "message": "loaded module [lang-painless]" }1122023-08-18T12:55:04.899296243Z {"type": "server", "timestamp": "2023-08-18T12:55:04,898Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "7628f650717e", "message": "loaded module [legacy-geo]" }1132023-08-18T12:55:04.899638183Z {"type": "server", "timestamp": "2023-08-18T12:55:04,899Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "7628f650717e", "message": "loaded module [mapper-extras]" }1142023-08-18T12:55:04.899989443Z {"type": "server", "timestamp": "2023-08-18T12:55:04,899Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "7628f650717e", "message": "loaded module [mapper-version]" }1152023-08-18T12:55:04.900346363Z {"type": "server", "timestamp": "2023-08-18T12:55:04,900Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "7628f650717e", "message": "loaded module [parent-join]" }1162023-08-18T12:55:04.900721393Z {"type": "server", "timestamp": "2023-08-18T12:55:04,900Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "7628f650717e", "message": "loaded module [percolator]" }1172023-08-18T12:55:04.901056653Z {"type": "server", "timestamp": "2023-08-18T12:55:04,900Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "7628f650717e", "message": "loaded module [rank-eval]" }1182023-08-18T12:55:04.901429993Z {"type": "server", "timestamp": "2023-08-18T12:55:04,901Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "7628f650717e", "message": "loaded module [reindex]" }1192023-08-18T12:55:04.901794012Z {"type": "server", "timestamp": "2023-08-18T12:55:04,901Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "7628f650717e", "message": "loaded module [repositories-metering-api]" }1202023-08-18T12:55:04.902143852Z {"type": "server", "timestamp": "2023-08-18T12:55:04,901Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "7628f650717e", "message": "loaded module [repository-encrypted]" }1212023-08-18T12:55:04.902520053Z {"type": "server", "timestamp": "2023-08-18T12:55:04,902Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "7628f650717e", "message": "loaded module [repository-url]" }1222023-08-18T12:55:04.902893103Z {"type": "server", "timestamp": "2023-08-18T12:55:04,902Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "7628f650717e", "message": "loaded module [runtime-fields-common]" }1232023-08-18T12:55:04.903247252Z {"type": "server", "timestamp": "2023-08-18T12:55:04,902Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "7628f650717e", "message": "loaded module [search-business-rules]" }1242023-08-18T12:55:04.903587213Z {"type": "server", "timestamp": "2023-08-18T12:55:04,903Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "7628f650717e", "message": "loaded module [searchable-snapshots]" }1252023-08-18T12:55:04.903983072Z {"type": "server", "timestamp": "2023-08-18T12:55:04,903Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "7628f650717e", "message": "loaded module [snapshot-repo-test-kit]" }1262023-08-18T12:55:04.904422112Z {"type": "server", "timestamp": "2023-08-18T12:55:04,904Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "7628f650717e", "message": "loaded module [spatial]" }1272023-08-18T12:55:04.904779242Z {"type": "server", "timestamp": "2023-08-18T12:55:04,904Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "7628f650717e", "message": "loaded module [transform]" }1282023-08-18T12:55:04.905158922Z {"type": "server", "timestamp": "2023-08-18T12:55:04,904Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "7628f650717e", "message": "loaded module [transport-netty4]" }1292023-08-18T12:55:04.905538132Z {"type": "server", "timestamp": "2023-08-18T12:55:04,905Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "7628f650717e", "message": "loaded module [unsigned-long]" }1302023-08-18T12:55:04.905900362Z {"type": "server", "timestamp": "2023-08-18T12:55:04,905Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "7628f650717e", "message": "loaded module [vector-tile]" }1312023-08-18T12:55:04.906237792Z {"type": "server", "timestamp": "2023-08-18T12:55:04,905Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "7628f650717e", "message": "loaded module [vectors]" }1322023-08-18T12:55:04.906594182Z {"type": "server", "timestamp": "2023-08-18T12:55:04,906Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "7628f650717e", "message": "loaded module [wildcard]" }1332023-08-18T12:55:04.906963332Z {"type": "server", "timestamp": "2023-08-18T12:55:04,906Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "7628f650717e", "message": "loaded module [x-pack-aggregate-metric]" }1342023-08-18T12:55:04.907315802Z {"type": "server", "timestamp": "2023-08-18T12:55:04,906Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "7628f650717e", "message": "loaded module [x-pack-analytics]" }1352023-08-18T12:55:04.907664572Z {"type": "server", "timestamp": "2023-08-18T12:55:04,907Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "7628f650717e", "message": "loaded module [x-pack-async]" }1362023-08-18T12:55:04.908031092Z {"type": "server", "timestamp": "2023-08-18T12:55:04,907Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "7628f650717e", "message": "loaded module [x-pack-async-search]" }1372023-08-18T12:55:04.908491522Z {"type": "server", "timestamp": "2023-08-18T12:55:04,908Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "7628f650717e", "message": "loaded module [x-pack-autoscaling]" }1382023-08-18T12:55:04.908845782Z {"type": "server", "timestamp": "2023-08-18T12:55:04,908Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "7628f650717e", "message": "loaded module [x-pack-ccr]" }1392023-08-18T12:55:04.909179832Z {"type": "server", "timestamp": "2023-08-18T12:55:04,908Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "7628f650717e", "message": "loaded module [x-pack-core]" }1402023-08-18T12:55:04.909534272Z {"type": "server", "timestamp": "2023-08-18T12:55:04,909Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "7628f650717e", "message": "loaded module [x-pack-data-streams]" }1412023-08-18T12:55:04.909918921Z {"type": "server", "timestamp": "2023-08-18T12:55:04,909Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "7628f650717e", "message": "loaded module [x-pack-deprecation]" }1422023-08-18T12:55:04.910241282Z {"type": "server", "timestamp": "2023-08-18T12:55:04,909Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "7628f650717e", "message": "loaded module [x-pack-enrich]" }1432023-08-18T12:55:04.910605291Z {"type": "server", "timestamp": "2023-08-18T12:55:04,910Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "7628f650717e", "message": "loaded module [x-pack-eql]" }1442023-08-18T12:55:04.910991221Z {"type": "server", "timestamp": "2023-08-18T12:55:04,910Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "7628f650717e", "message": "loaded module [x-pack-fleet]" }1452023-08-18T12:55:04.911342932Z {"type": "server", "timestamp": "2023-08-18T12:55:04,911Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "7628f650717e", "message": "loaded module [x-pack-graph]" }1462023-08-18T12:55:04.911561771Z {"type": "server", "timestamp": "2023-08-18T12:55:04,911Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "7628f650717e", "message": "loaded module [x-pack-identity-provider]" }1472023-08-18T12:55:04.911800142Z {"type": "server", "timestamp": "2023-08-18T12:55:04,911Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "7628f650717e", "message": "loaded module [x-pack-ilm]" }1482023-08-18T12:55:04.912035801Z {"type": "server", "timestamp": "2023-08-18T12:55:04,911Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "7628f650717e", "message": "loaded module [x-pack-logstash]" }1492023-08-18T12:55:04.912290931Z {"type": "server", "timestamp": "2023-08-18T12:55:04,912Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "7628f650717e", "message": "loaded module [x-pack-ml]" }1502023-08-18T12:55:04.912506161Z {"type": "server", "timestamp": "2023-08-18T12:55:04,912Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "7628f650717e", "message": "loaded module [x-pack-monitoring]" }1512023-08-18T12:55:04.912788221Z {"type": "server", "timestamp": "2023-08-18T12:55:04,912Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "7628f650717e", "message": "loaded module [x-pack-ql]" }1522023-08-18T12:55:04.912995351Z {"type": "server", "timestamp": "2023-08-18T12:55:04,912Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "7628f650717e", "message": "loaded module [x-pack-rollup]" }1532023-08-18T12:55:04.913228301Z {"type": "server", "timestamp": "2023-08-18T12:55:04,912Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "7628f650717e", "message": "loaded module [x-pack-security]" }1542023-08-18T12:55:04.913434891Z {"type": "server", "timestamp": "2023-08-18T12:55:04,913Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "7628f650717e", "message": "loaded module [x-pack-shutdown]" }1552023-08-18T12:55:04.913640621Z {"type": "server", "timestamp": "2023-08-18T12:55:04,913Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "7628f650717e", "message": "loaded module [x-pack-sql]" }1562023-08-18T12:55:04.913871211Z {"type": "server", "timestamp": "2023-08-18T12:55:04,913Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "7628f650717e", "message": "loaded module [x-pack-stack]" }1572023-08-18T12:55:04.914076781Z {"type": "server", "timestamp": "2023-08-18T12:55:04,913Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "7628f650717e", "message": "loaded module [x-pack-text-structure]" }1582023-08-18T12:55:04.914284941Z {"type": "server", "timestamp": "2023-08-18T12:55:04,914Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "7628f650717e", "message": "loaded module [x-pack-voting-only-node]" }1592023-08-18T12:55:04.914490181Z {"type": "server", "timestamp": "2023-08-18T12:55:04,914Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "7628f650717e", "message": "loaded module [x-pack-watcher]" }1602023-08-18T12:55:04.915212581Z {"type": "server", "timestamp": "2023-08-18T12:55:04,914Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "7628f650717e", "message": "no plugins loaded" }1612023-08-18T12:55:05.084045812Z {"type": "server", "timestamp": "2023-08-18T12:55:05,083Z", "level": "INFO", "component": "o.e.e.NodeEnvironment", "cluster.name": "docker-cluster", "node.name": "7628f650717e", "message": "using [1] data paths, mounts [[/ (overlay)]], net usable_space [32.9gb], net total_space [45gb], types [overlay]" }1622023-08-18T12:55:05.084633262Z {"type": "server", "timestamp": "2023-08-18T12:55:05,084Z", "level": "INFO", "component": "o.e.e.NodeEnvironment", "cluster.name": "docker-cluster", "node.name": "7628f650717e", "message": "heap size [256mb], compressed ordinary object pointers [true]" }1632023-08-18T12:55:05.185973911Z {"type": "server", "timestamp": "2023-08-18T12:55:05,185Z", "level": "INFO", "component": "o.e.n.Node", "cluster.name": "docker-cluster", "node.name": "7628f650717e", "message": "node name [7628f650717e], node ID [T4vyp_TJQR2biJZbKxxZxw], cluster name [docker-cluster], roles [transform, data_frozen, master, remote_cluster_client, data, ml, data_content, data_hot, data_warm, data_cold, ingest]" }1642023-08-18T12:55:19.403647302Z {"type": "server", "timestamp": "2023-08-18T12:55:19,402Z", "level": "INFO", "component": "o.e.x.m.p.l.CppLogMessageHandler", "cluster.name": "docker-cluster", "node.name": "7628f650717e", "message": "[controller/211] [Main.cc@122] controller (64 bit): Version 7.17.6 (Build ea0305ae2a3b09) Copyright (c) 2022 Elasticsearch BV" }1652023-08-18T12:55:20.772987338Z {"type": "server", "timestamp": "2023-08-18T12:55:20,772Z", "level": "INFO", "component": "o.e.i.g.ConfigDatabases", "cluster.name": "docker-cluster", "node.name": "7628f650717e", "message": "initialized default databases [[GeoLite2-Country.mmdb, GeoLite2-City.mmdb, GeoLite2-ASN.mmdb]], config databases [[]] and watching [/usr/share/elasticsearch/config/ingest-geoip] for changes" }1662023-08-18T12:55:20.774354468Z {"type": "server", "timestamp": "2023-08-18T12:55:20,774Z", "level": "INFO", "component": "o.e.i.g.DatabaseNodeService", "cluster.name": "docker-cluster", "node.name": "7628f650717e", "message": "initialized database registry, using geoip-databases directory [/tmp/elasticsearch-12922533497353645788/geoip-databases/T4vyp_TJQR2biJZbKxxZxw]" }1672023-08-18T12:55:22.605758624Z {"type": "server", "timestamp": "2023-08-18T12:55:22,605Z", "level": "INFO", "component": "o.e.t.NettyAllocator", "cluster.name": "docker-cluster", "node.name": "7628f650717e", "message": "creating NettyAllocator with the following configs: [name=unpooled, suggested_max_allocation_size=1mb, factors={es.unsafe.use_unpooled_allocator=null, g1gc_enabled=true, g1gc_region_size=4mb, heap_size=256mb}]" }1682023-08-18T12:55:22.729817964Z {"type": "server", "timestamp": "2023-08-18T12:55:22,729Z", "level": "INFO", "component": "o.e.i.r.RecoverySettings", "cluster.name": "docker-cluster", "node.name": "7628f650717e", "message": "using rate limit [40mb] with [default=40mb, read=0b, write=0b, max=0b]" }1692023-08-18T12:55:22.810779578Z {"type": "server", "timestamp": "2023-08-18T12:55:22,809Z", "level": "INFO", "component": "o.e.d.DiscoveryModule", "cluster.name": "docker-cluster", "node.name": "7628f650717e", "message": "using discovery type [single-node] and seed hosts providers [settings]" }170*********171Authenticating with credentials from job payload (GitLab Registry)172Pulling docker image registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0.patched-golang-1.20-rust-1.65-node-18.17-postgresql-14:rubygems-3.4-git-2.36-lfs-2.9-chrome-113-yarn-1.22-graphicsmagick-1.3.36 ...173Using docker image sha256:3e6c24d49ca804019e2cfcf4951ed994b550043ce6af3757cb550e8c78892a99 for registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0.patched-golang-1.20-rust-1.65-node-18.17-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.20-rust-1.65-node-18.17-postgresql-14@sha256:50215d6eb4fdf053dfc39bc8a540c94a214139ba2a583092099c9eac46201eee ...175Running on runner-euhiqzpr-project-278964-concurrent-0 via runner-euhiqzpr-shared-gitlab-org-1692360159-9be2fa08...177Fetching changes with git depth set to 20...178Initialized empty Git repository in /builds/gitlab-org/gitlab/.git/179Created fresh repository.180remote: Enumerating objects: 150271, done. 181remote: Counting objects: 100% (150271/150271), done. 182remote: Compressing objects: 100% (97595/97595), done. 183remote: Total 150271 (delta 67215), reused 103431 (delta 46893), pack-reused 0 184Receiving objects: 100% (150271/150271), 124.68 MiB | 23.13 MiB/s, done.185Resolving deltas: 100% (67215/67215), done.187 * [new ref] refs/pipelines/972262671 -> refs/pipelines/972262671188Checking out 3f92a6c3 as detached HEAD (ref is refs/merge-requests/129383/merge)...189Skipping Git submodules setup190$ git remote set-url origin "${CI_REPOSITORY_URL}"192Checking cache for ruby-gems-debian-bullseye-ruby-3.0-16...193cache.zip is up to date 194Successfully extracted cache196Downloading artifacts for compile-test-assets (4900739220)...197Downloading artifacts from coordinator... ok host=storage.googleapis.com id=4900739220 responseStatus=200 OK token=64_L1UkP198Downloading artifacts for detect-tests (4900739241)...199Downloading artifacts from coordinator... ok host=storage.googleapis.com id=4900739241 responseStatus=200 OK token=64_L1UkP200Downloading artifacts for retrieve-tests-metadata (4900739253)...201Downloading artifacts from coordinator... ok host=storage.googleapis.com id=4900739253 responseStatus=200 OK token=64_L1UkP202Downloading artifacts for setup-test-env (4900739227)...203Downloading artifacts from coordinator... ok host=storage.googleapis.com id=4900739227 responseStatus=200 OK token=64_L1UkP205Using docker image sha256:3e6c24d49ca804019e2cfcf4951ed994b550043ce6af3757cb550e8c78892a99 for registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0.patched-golang-1.20-rust-1.65-node-18.17-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.20-rust-1.65-node-18.17-postgresql-14@sha256:50215d6eb4fdf053dfc39bc8a540c94a214139ba2a583092099c9eac46201eee ...206$ echo $FOSS_ONLY207$ [ "$FOSS_ONLY" = "1" ] && rm -rf ee/ qa/spec/ee/ qa/qa/specs/features/ee/ qa/qa/ee/ qa/qa/ee.rb208$ export GOPATH=$CI_PROJECT_DIR/.go209$ mkdir -p $GOPATH210$ source scripts/utils.sh211$ source scripts/prepare_build.sh243Using decomposed database config (config/database.yml.decomposed-postgresql)244Geo DB will be set up.245Embedding DB will be set up.261$ source ./scripts/rspec_helpers.sh262$ run_timed_command "gem install knapsack --no-document"263$ gem install knapsack --no-document264Successfully installed knapsack-4.0.02651 gem installed266==> 'gem install knapsack --no-document' succeeded in 0 seconds.267$ section_start "gitaly-test-spawn" "Spawning Gitaly"; scripts/gitaly-test-spawn; section_end "gitaly-test-spawn"272$ export RSPEC_SKIPPED_TESTS_REPORT_PATH="rspec/skipped_tests-${CI_JOB_ID}.txt"273$ export RSPEC_RETRIED_TESTS_REPORT_PATH="rspec/retried_tests-${CI_JOB_ID}.txt"274$ rspec_paralellized_job "--fail-fast=${RSPEC_FAIL_FAST_THRESHOLD} --tag ~quarantine --tag ~level:background_migration --tag ~click_house"275SKIP_FLAKY_TESTS_AUTOMATICALLY: 276RETRY_FAILED_TESTS_IN_NEW_PROCESS: true277KNAPSACK_GENERATE_REPORT: true278FLAKY_RSPEC_GENERATE_REPORT: true279KNAPSACK_TEST_FILE_PATTERN: {ee/}spec/{commands,controllers,mailers,requests}{,/**/}*_spec.rb280KNAPSACK_LOG_LEVEL: debug281KNAPSACK_REPORT_PATH: knapsack/rspec-ee_integration_pg14_3_6_report.json282FLAKY_RSPEC_SUITE_REPORT_PATH: rspec/flaky/report-suite.json283FLAKY_RSPEC_REPORT_PATH: rspec/flaky/all_rspec-ee_integration_pg14_3_6_report.json284NEW_FLAKY_RSPEC_REPORT_PATH: rspec/flaky/new_rspec-ee_integration_pg14_3_6_report.json285RSPEC_SKIPPED_TESTS_REPORT_PATH: rspec/skipped_tests-4900739655.txt286CRYSTALBALL: 287RSPEC_TESTS_MAPPING_ENABLED: 288RSPEC_TESTS_FILTER_FILE: 289Shell set options (set -o) enabled:290braceexpand on291hashall on292interactive-comments on293pipefail on294Knapsack report generator started!295/builds/gitlab-org/gitlab/ee/app/services/remote_development/service_response_factory.rb:41: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!296/builds/gitlab-org/gitlab/ee/app/services/remote_development/workspaces/create_service.rb:28: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!297/builds/gitlab-org/gitlab/ee/app/services/remote_development/workspaces/reconcile_service.rb:38: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!298/builds/gitlab-org/gitlab/ee/app/services/remote_development/workspaces/update_service.rb:28: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!299/builds/gitlab-org/gitlab/ee/lib/remote_development/agent_config/main.rb:32: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!300/builds/gitlab-org/gitlab/ee/lib/remote_development/agent_config/updater.rb:11: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!301/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/authorizer.rb:12: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!302/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/authorizer.rb:13: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!303/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/creator.rb:17: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!304/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/creator.rb:24: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!305/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/creator.rb:25: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!306/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/creator.rb:28: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!307/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/devfile_fetcher.rb:15: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!308/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/devfile_fetcher.rb:16: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!309/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/devfile_flattener.rb:12: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!310/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/editor_component_injector.rb:12: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!311/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/editor_component_injector.rb:17: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!312/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/editor_component_injector.rb:18: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!313/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/post_flatten_devfile_validator.rb:43: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!314/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/post_flatten_devfile_validator.rb:54: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!315/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/post_flatten_devfile_validator.rb:102: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!316/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/post_flatten_devfile_validator.rb:126: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!317/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/post_flatten_devfile_validator.rb:159: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!318/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/post_flatten_devfile_validator.rb:202: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!319/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/post_flatten_devfile_validator.rb:235: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!320/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/pre_flatten_devfile_validator.rb:24: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!321/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/pre_flatten_devfile_validator.rb:52: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!322/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/project_cloner_component_injector.rb:12: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!323/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/project_cloner_component_injector.rb:17: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!324/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/project_cloner_component_injector.rb:18: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!325/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/project_cloner_component_injector.rb:23: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!326/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/volume_component_injector.rb:12: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!327/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/volume_component_injector.rb:13: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!328/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/volume_component_injector.rb:14: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!329/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/reconcile/main.rb:43: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!330/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/update/authorizer.rb:12: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!331/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/update/updater.rb:12: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!332/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/reconcile/input/agent_infos_observer.rb:15: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!333/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/reconcile/input/params_extractor.rb:14: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!334/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/reconcile/input/params_extractor.rb:16: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!335/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/reconcile/input/params_to_infos_converter.rb:14: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!336/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/reconcile/input/params_validator.rb:15: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!337/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/reconcile/output/rails_infos_observer.rb:11: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!338/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/reconcile/output/workspaces_to_rails_infos_converter.rb:15: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!339/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/reconcile/persistence/orphaned_workspaces_observer.rb:12: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!340/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/reconcile/persistence/workspaces_from_agent_infos_updater.rb:15: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!341/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/reconcile/persistence/workspaces_to_be_returned_finder.rb:16: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!342/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/reconcile/persistence/workspaces_to_be_returned_updater.rb:11: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!343Run options: exclude {:quarantine=>true, :level=>"background_migration", :click_house=>true}344Test environment set up in 1.14925831 seconds345Projects::MergeRequestsController346 PUT update347 when the merge request requires approval348 behaves like update invalid issuable349 when updating causes conflicts350 renders edit when format is html351 renders json error message when format is json352 when updating an invalid issuable353 renders edit when merge request is invalid354 overriding approvers per MR355 enabled356 updates approvals357 does not allow approvels before merge lower than the project setting358 creates rules359 disabled360 does not update approvals_before_merge361 does not update approver_ids362 does not update approver_group_ids363 does not create approval rules364 when the MR targets the project365 behaves like approvals_before_merge param366 approvals_before_merge not set for the existing MR367 when it is less than the one in the target project368 sets the param to the sames as the project369 updates the merge request370 when it is equal to the one in the target project371 sets the param to the same as the project372 updates the merge request373 when it is greater than the one in the target project374 saves the param in the merge request375 updates the merge request376 approvals_before_merge set for the existing MR377 when it is not set378 does not change the merge request379 updates the merge request380 when it is less than the one in the target project381 sets the param to the same as the target project382 updates the merge request383 when it is equal to the one in the target project384 sets the param to the same as the target project385 updates the merge request386 when it is greater than the one in the target project387 saves the param in the merge request388 updates the merge request389 when the project is a fork390 when the MR target upstream391 behaves like approvals_before_merge param392 approvals_before_merge not set for the existing MR393 when it is less than the one in the target project394 sets the param to the sames as the project395 updates the merge request396 when it is equal to the one in the target project397 sets the param to the same as the project398 updates the merge request399 when it is greater than the one in the target project400 saves the param in the merge request401 updates the merge request402 approvals_before_merge set for the existing MR403 when it is not set404 does not change the merge request405 updates the merge request406 when it is less than the one in the target project407 sets the param to the same as the target project408 updates the merge request409 when it is equal to the one in the target project410 sets the param to the same as the target project411 updates the merge request412 when it is greater than the one in the target project413 saves the param in the merge request414 updates the merge request415 when the MR target the fork416 behaves like approvals_before_merge param417 approvals_before_merge not set for the existing MR418 when it is less than the one in the target project419 sets the param to the sames as the project420 updates the merge request421 when it is equal to the one in the target project422 sets the param to the same as the project423 updates the merge request424 when it is greater than the one in the target project425 saves the param in the merge request426 updates the merge request427 approvals_before_merge set for the existing MR428 when it is not set429 does not change the merge request430 updates the merge request431 when it is less than the one in the target project432 sets the param to the same as the target project433 updates the merge request434 when it is equal to the one in the target project435 sets the param to the same as the target project436 updates the merge request437 when it is greater than the one in the target project438 saves the param in the merge request439 updates the merge request440 POST #merge441 with STRATEGY_MERGE_WHEN_CHECKS_PASS requested442 mergeable conditions443 when pipeline is active and no approvals are required444 behaves like merge MR when checks pass445 sets the MR to merge when it gets approved and the pipeline succeeds446 when feature flag "merge_when_checks_pass" is disabled447 fails to merge448 when pipeline has succeeded but required approvals are missing449 behaves like merge MR when checks pass450 sets the MR to merge when it gets approved and the pipeline succeeds451 when feature flag "merge_when_checks_pass" is disabled452 fails to merge453 when pipeline is active and required approvals are missing454 behaves like merge MR when checks pass455 sets the MR to merge when it gets approved and the pipeline succeeds456 when feature flag "merge_when_checks_pass" is disabled457 fails to merge458 when pipeline has succeeded and approvals are given459 returns :failed460 when auto merge has not been enabled yet461 calls AutoMergeService#execute462 when auto merge has already been enabled463 calls AutoMergeService#update464 POST #rebase465 approvals pending466 returns 200467 GET #edit468 default templates469 when a merge request description has content470 does not select a default template471 when a merge request description is blank472 when a default template does not exist in the repository473 does not select a default template474 when a default template exists in the repository475 does not select a default template476 GET #dependency_scanning_reports477 behaves like pending pipeline response478 when pipeline is pending479 sends polling interval480 returns 204 HTTP status481 behaves like comparable report482 when comparison is being processed483 sends polling interval484 returns 204 HTTP status485 when comparison is done486 does not send polling interval487 returns 200 HTTP status488 when user created corrupted reports489 does not send polling interval490 returns 400 HTTP status491 behaves like a security resource492 public project with public builds493 restricts access from signed out users494 restricts access from non-members495 restricts access from guests496 GET #container_scanning_reports497 behaves like pending pipeline response498 when pipeline is pending499 sends polling interval500 returns 204 HTTP status501 behaves like comparable report502 when comparison is being processed503 sends polling interval504 returns 204 HTTP status505 when comparison is done506 does not send polling interval507 returns 200 HTTP status508 when user created corrupted reports509 does not send polling interval510 returns 400 HTTP status511 behaves like a security resource512 public project with public builds513 restricts access from signed out users514 restricts access from non-members515 restricts access from guests516 GET #sast_reports517 behaves like pending pipeline response518 when pipeline is pending519 sends polling interval520 returns 204 HTTP status521 behaves like comparable report522 when comparison is being processed523 sends polling interval524 returns 204 HTTP status525 when comparison is done526 does not send polling interval527 returns 200 HTTP status528 when user created corrupted reports529 does not send polling interval530 returns 400 HTTP status531 behaves like a security resource532 public project with public builds533 restricts access from signed out users534 restricts access from non-members535 restricts access from guests536 GET #coverage_fuzzing_reports537 behaves like pending pipeline response538 when pipeline is pending539 sends polling interval540 returns 204 HTTP status541 behaves like comparable report542 when comparison is being processed543 sends polling interval544 returns 204 HTTP status545 when comparison is done546 does not send polling interval547 returns 200 HTTP status548 when user created corrupted reports549 does not send polling interval550 returns 400 HTTP status551 behaves like a security resource552 public project with public builds553 restricts access from signed out users554 restricts access from non-members555 restricts access from guests556 GET #api_fuzzing_reports557 behaves like pending pipeline response558 when pipeline is pending559 sends polling interval560 returns 204 HTTP status561 behaves like comparable report562 when comparison is being processed563 sends polling interval564 returns 204 HTTP status565 when comparison is done566 does not send polling interval567 returns 200 HTTP status568 when user created corrupted reports569 does not send polling interval570 returns 400 HTTP status571 behaves like a security resource572 public project with public builds573 restricts access from signed out users574 restricts access from non-members575 restricts access from guests576 GET #secret_detection_reports577 behaves like pending pipeline response578 when pipeline is pending579 sends polling interval580 returns 204 HTTP status581 behaves like comparable report582 when comparison is being processed583 sends polling interval584 returns 204 HTTP status585 when comparison is done586 does not send polling interval587 returns 200 HTTP status588 when user created corrupted reports589 does not send polling interval590 returns 400 HTTP status591 behaves like a security resource592 public project with public builds593 restricts access from signed out users594 restricts access from non-members595 restricts access from guests596 GET #dast_reports597 behaves like pending pipeline response598 when pipeline is pending599 sends polling interval600 returns 204 HTTP status601 behaves like comparable report602 when comparison is being processed603 sends polling interval604 returns 204 HTTP status605 when comparison is done606 does not send polling interval607 returns 200 HTTP status608 when user created corrupted reports609 does not send polling interval610 returns 400 HTTP status611 behaves like a security resource612 public project with public builds613 restricts access from signed out users614 restricts access from non-members615 restricts access from guests616 GET #license_scanning_reports617 behaves like license scanning report comparison618 when the report is being parsed619 returns 204 HTTP status620 when comparison is being processed621 sends polling interval622 returns 204 HTTP status623 when comparison is done624 does not send polling interval625 returns 200 HTTP status626 when user created corrupted test reports627 does not send polling interval628 returns 400 HTTP status629 when a user is authorized to read the licenses630 returns 200 HTTP status631 when license_scanning feature is disabled632 returns 404 status633 behaves like authorize read pipeline634 public project with private builds635 restricts access to signed out users636 restricts access to other users637 GET #license_scanning_reports_collapsed638 behaves like license scanning report comparison639 when the report is being parsed640 returns 204 HTTP status641 when comparison is being processed642 sends polling interval643 returns 204 HTTP status644 when comparison is done645 does not send polling interval646 returns 200 HTTP status647 when user created corrupted test reports648 does not send polling interval649 returns 400 HTTP status650 when a user is authorized to read the licenses651 returns 200 HTTP status652 when license_scanning feature is disabled653 returns 404 status654 behaves like authorize read pipeline655 public project with private builds656 restricts access to signed out users657 restricts access to other users658 GET #metrics_reports659 behaves like comparable report660 when comparison is being processed661 sends polling interval662 returns 204 HTTP status663 when comparison is done664 does not send polling interval665 returns 200 HTTP status666 when user created corrupted reports667 does not send polling interval668 returns 400 HTTP status669 behaves like authorize read pipeline670 public project with private builds671 restricts access to signed out users672 restricts access to other users673 behaves like DescriptionDiffActions675 when license is available676 behaves like description diff actions677 GET description_diff678 returns the diff with the previous version679 returns the diff with the previous version of the specified start_version_id680 when description version is from another issuable681 returns 404682 when start_version_id is from another issuable683 returns 404684 when start_version_id is deleted685 returns 404686 when description version is deleted687 returns 404688 DELETE description_diff689 returns 200690 when start_version_id is present691 returns 200692 when version is already deleted693 returns 404694 when user cannot admin issuable695 returns 404696 when features are available through Registration Features697 behaves like description diff actions698 GET description_diff699 returns the diff with the previous version700 returns the diff with the previous version of the specified start_version_id701 when description version is from another issuable702 returns 404703 when start_version_id is from another issuable704 returns 404705 when start_version_id is deleted706 returns 404707 when description version is deleted708 returns 404709 DELETE description_diff710 returns 200711 when start_version_id is present712 returns 200713 when version is already deleted714 returns 404715 when user cannot admin issuable716 returns 404717 when license is not available718 GET description_diff719 returns 404720 DELETE description_diff721 returns 404722API::Scim::GroupScim723 # order random724 when user with an email extern_uid725 behaves like SCIM API endpoints726 GET api/scim/v2/groups/:group/Users727 responds with 404 for a non existent group728 responds with 404 for a group with no SAML SSO configuration729 responds with paginated users when there is no filter730 responds with an error for unsupported filters731 behaves like SCIM token authenticated732 without token auth733 responds with 401734 when existing user matches filter735 responds with 200736 sets default values as required by the specification737 when no user matches filter738 responds with 200739 GET api/scim/v2/groups/:group/Users/:id740 responds with 404 for a non existent group741 responds with 404 for a group with no SAML SSO configuration742 responds with 404 if there is no user743 behaves like SCIM token authenticated744 without token auth745 responds with 401746 when existing user747 responds with 200748 POST api/scim/v2/groups/:group/Users749 responds with 404 for a non existent group750 responds with 404 for a group with no SAML SSO configuration751 behaves like SCIM token authenticated752 without token auth753 responds with 401754 when a provisioning error occurs755 behaves like filtered params in errors756 does not expose the password in error response757 does not expose the access token in error response758 without an existing user759 responds with 201760 has the user external ID761 has the email762 created the user763 created the member with access level set in saml_provider764 created the identity765 marks the user as provisioned by the group766 when existing user767 responds with 201768 has the user external ID769 does not mark the user as provisioned770 behaves like storing arguments in the application context for the API771 places the expected params in the application context772 with allowed domain setting switched on773 with different domains774 created the user775 did not create member776 with invalid user params777 returns user error778 with matching domains779 created the user780 created the member with access level set in saml_provider781 PATCH api/scim/v2/groups/:group/Users/:id782 responds with 404 for a non existent group783 responds with 404 for a group with no SAML SSO configuration784 responds with 404 if there is no user785 deactivates the scim_identity786 behaves like SCIM token authenticated787 without token auth788 responds with 401789 with owner790 responds with 412791 returns the last group owner error792 does not deactivate the identity793 when reprovisioning user794 activates the scim_identity795 does not call reprovision service when identity is already active796 when existing user797 with extern UID798 responds with 204799 updates the extern_uid800 with user attributes801 with name802 responds with 204803 does not update the name804 responds with an empty response805 with email806 does not update the email807 responds with 204808 with userName809 responds with 204810 does not update the username811 responds with an empty response812 DELETE /scim/v2/groups/:group/Users/:id813 responds with 404 if there is no user814 responds with 404 for a non existent group815 responds with 404 for a group with no SAML SSO configuration816 when existing user817 responds with 204818 responds with an empty response819 deactivates the identity820 when the user is not a group member821 deactivates the identity822 with owner823 responds with 412824 returns the last group owner error825 does not deactivate the identity826 when user with an alphanumeric extern_uid827 behaves like SCIM API endpoints828 GET api/scim/v2/groups/:group/Users829 responds with 404 for a non existent group830 responds with 404 for a group with no SAML SSO configuration831 responds with paginated users when there is no filter832 responds with an error for unsupported filters833 behaves like SCIM token authenticated834 without token auth835 responds with 401836 when existing user matches filter837 responds with 200838 sets default values as required by the specification839 when no user matches filter840 responds with 200841 GET api/scim/v2/groups/:group/Users/:id842 responds with 404 for a non existent group843 responds with 404 for a group with no SAML SSO configuration844 responds with 404 if there is no user845 behaves like SCIM token authenticated846 without token auth847 responds with 401848 when existing user849 responds with 200850 POST api/scim/v2/groups/:group/Users851 responds with 404 for a non existent group852 responds with 404 for a group with no SAML SSO configuration853 behaves like SCIM token authenticated854 without token auth855 responds with 401856 when a provisioning error occurs857 behaves like filtered params in errors858 does not expose the password in error response859 does not expose the access token in error response860 without an existing user861 responds with 201862 has the user external ID863 has the email864 created the user865 created the member with access level set in saml_provider866 created the identity867 marks the user as provisioned by the group868 when existing user869 responds with 201870 has the user external ID871 does not mark the user as provisioned872 behaves like storing arguments in the application context for the API873 places the expected params in the application context874 with allowed domain setting switched on875 with different domains876 created the user877 did not create member878 with invalid user params879 returns user error880 with matching domains881 created the user882 created the member with access level set in saml_provider883 PATCH api/scim/v2/groups/:group/Users/:id884 responds with 404 for a non existent group885 responds with 404 for a group with no SAML SSO configuration886 responds with 404 if there is no user887 deactivates the scim_identity888 behaves like SCIM token authenticated889 without token auth890 responds with 401891 with owner892 responds with 412893 returns the last group owner error894 does not deactivate the identity895 when reprovisioning user896 activates the scim_identity897 does not call reprovision service when identity is already active898 when existing user899 with extern UID900 responds with 204901 updates the extern_uid902 with user attributes903 with name904 responds with 204905 does not update the name906 responds with an empty response907 with email908 does not update the email909 responds with 204910 with userName911 responds with 204912 does not update the username913 responds with an empty response914 DELETE /scim/v2/groups/:group/Users/:id915 responds with 404 if there is no user916 responds with 404 for a non existent group917 responds with 404 for a group with no SAML SSO configuration918 when existing user919 responds with 204920 responds with an empty response921 deactivates the identity922 when the user is not a group member923 deactivates the identity924 with owner925 responds with 412926 returns the last group owner error927 does not deactivate the identity928API::Epics929 GET /groups/:id/epics930 behaves like error requests931 when epics feature is disabled932 returns 403 forbidden error933 when epics feature is enabled934 returns 404 not found error for a user without permissions to see the group935 when the request is correct936 returns 200 status937 matches the response schema938 avoids N+1 queries939 with_label_details940 avoids N+1 queries941 returns labels with details942 with a parent epic943 returns parent_id and parent_iid944 with multiple epics945 returns epics not authored by the given author id946 returns epics not authored by the given author username947 does not allow filtering by negating author_id and author_username together948 returns epics without the given label949 returns epics authored by the given author id950 returns epics authored by the given author username951 does not allow filtering by author_id and author_username together952 returns epics reacted to by current user953 returns epics matching given status954 returns all epics when state set to all955 returns epics matching given confidentiality956 has upvote/downvote information957 sorts by created_at descending by default958 sorts ascending when requested959 sorts by updated_at descending when requested960 sorts by updated_at ascending when requested961 sorts by title descending when requested962 sorts by title ascending when requested963 returns an array of labeled epics964 returns an array of labeled epics with labels param as array965 returns an array of labeled epics when all labels matches966 returns an array of labeled epics when all labels matches with labels param as array967 returns an empty array if no epic matches labels968 returns an empty array if no epic matches labels with labels param as array969 returns an array of labeled epics matching given state970 returns an array of labeled epics matching given state with labels param as array971 returns an empty array if no epic matches labels and state filters972 returns an array of epics with any label973 returns an array of epics with any label with labels param as array974 returns an array of epics with no label975 returns an array of epics with no label with labels param as array976 with search param977 returns issues matching given search string for title978 returns issues matching given search string for description979 behaves like issuable API rate-limited search980 behaves like rate limited endpoint981 when rate limiter enabled982 logs request and declines it when endpoint called more than the threshold983 when rate limiter is disabled984 does not log request and does not block the request985 behaves like rate limited endpoint986 when rate limiter enabled987 logs request and declines it when endpoint called more than the threshold988 when rate limiter is disabled989 does not log request and does not block the request990 #to_reference991 exposes reference path992 referencing from parent group993 exposes full reference path994 behaves like response with extra date fields995 returns epic with extra date fields996 filtering before a specific date997 returns epics created before a specific date998 returns epics updated before a specific date999 filtering after a specific date1000 returns epics created after a specific date1001 returns epics updated after a specific date1002 with hierarchy params1003 excludes descendant group epics1004 includes ancestor group epics1005 with pagination params1006 when viewing the first page1007 behaves like paginated API endpoint1008 returns the correct page1009 viewing the second page1010 behaves like paginated API endpoint1011 returns the correct page1012 GET /groups/:id/epics/:epic_iid1013 behaves like error requests1014 when epics feature is disabled1015 returns 403 forbidden error1016 when epics feature is enabled1017 returns 404 not found error for a user without permissions to see the group1018 when the request is correct1019 returns 200 status1020 matches the response schema1021 exposes subscribed field1022 exposes closed_at attribute1023 exposes full reference path1024 exposes links1025 with a parent epic1026 exposes parent link1027 behaves like response with extra date fields1028 returns epic with extra date fields1029 POST /groups/:id/epics1030 behaves like error requests1031 when epics feature is disabled1032 returns 403 forbidden error1033 when epics feature is enabled1034 returns 404 not found error for a user without permissions to see the group1035 when epics feature is enabled1036 creates a new epic with labels param as array1037 creates a new epic with no labels1038 behaves like POST request permissions for admin mode1039 behaves like when admin1040 behaves like makes request1041 returns1042 behaves like makes request1043 returns1044 behaves like when user1045 returns1046 behaves like makes request1047 returns1048 when required parameter is missing1049 returns 4001050 when the request is correct1051 returns 201 status1052 matches the response schema1053 exposes parent information1054 create system notes for new relation1055 creates a new epic1056 when we specify a color by hex code1057 sets the color correctly1058 when we specify a color by name1059 sets the color correctly1060 when deprecated start_date and end_date params are present1061 updates start_date_fixed and due_date_fixed1062 when parent epic is invalid1063 returns 4001064 when user has no access to parent epic1065 creates epic without parent1066 with rate limiter1067 prevents users from creating more epics1068 setting created_at1069 sets the creation time on the new epic if the user is an admin1070 sets the creation time on the new epic if the user is a group owner1071 ignores the given creation time if the user is another user1072 PUT /groups/:id/epics/:epic_iid1073 behaves like error requests1074 when epics feature is disabled1075 returns 403 forbidden error1076 when epics feature is enabled1077 returns 404 not found error for a user without permissions to see the group1078 when epics feature is enabled1079 behaves like PUT request permissions for admin mode1080 behaves like when admin1081 behaves like makes request1082 returns1083 behaves like makes request1084 returns1085 behaves like when user1086 returns1087 behaves like makes request1088 returns1089 when a user does not have permissions to create an epic1090 returns 403 forbidden error1091 when no param sent1092 returns 4001093 when user has no access to parent epic1094 does not update parent1095 when the request is correct1096 clears labels when labels param is nil1097 with basic params1098 returns 200 status1099 matches the response schema1100 updates the epic1101 with labels1102 updates the epic with labels param as array1103 when adding labels, keeps existing labels and adds new1104 when removing labels, only removes those specified1105 when removing all labels, keeps no labels1106 when state_event is close1107 allows epic to be closed1108 when state_event is reopen1109 allows epic to be reopend1110 setting updated_at1111 ignores the given update time when run by another user1112 sets the update time on the epic when run by an admin1113 sets the update time on the epic when run by a group owner1114 when deprecated start_date and end_date params are present1115 updates start_date_fixed and due_date_fixed1116 when deprecated dates are missing1117 does not drop existing dates1118 when updating start_date_is_fixed by itself1119 updates start_date_is_fixed1120 DELETE /groups/:id/epics/:epic_iid1121 behaves like error requests1122 when epics feature is disabled1123 returns 403 forbidden error1124 when epics feature is enabled1125 returns 404 not found error for a user without permissions to see the group1126 when epics feature is enabled1127 when a user does not have permissions to destroy an epic1128 returns 403 forbidden error1129 when the request is correct1130 returns 204 status1131 removes an epic1132OperationsController1133 GET #index1134 format html1135 renders index with 200 status code1136 behaves like unlicensed1137 renders 4041138 with an anonymous user1139 redirects to sign-in page1140 format json1141 behaves like unlicensed1142 renders 4041143 with added projects1144 returns a list of added projects1145 returns as many projects as are in the user's dashboard1146 returns a list of added projects1147 without sufficient access level1148 behaves like empty project list1149 returns an empty list1150 without projects1151 behaves like empty project list1152 returns an empty list1153 with an anonymous user1154 returns unauthorized response1155 GET #environments1156 format html1157 renders the view1158 behaves like unlicensed1159 renders 4041160 with an anonymous user1161 redirects to sign-in page1162 format json1163 behaves like unlicensed1164 renders 4041165 with an anonymous user1166 returns unauthorized response1167 with an authenticated user without sufficient access_level1168 returns an empty project list1169 with an authenticated developer1170 returns an empty project list1171 sets the polling interval header1172 returns an empty project list when the project is not in the developer's dashboard1173 with a project in the dashboard1174 returns a project without an environment1175 returns one project with one environment1176 returns multiple projects and environments1177 does not make N+1 queries with multiple environments1178 does not return environments that would be grouped into a folder1179 does not return environments that would be grouped into a folder even when there is only a single environment1180 returns an environment not in a folder1181 returns the last deployment for an environment1182 returns the last deployment's deployable1183 returns a failed deployment1184 does not return a project for which the operations dashboard feature is unavailable1185 returns seven projects when some projects do not have the dashboard feature available1186 returns a maximum of three environments for a project1187 returns a maximum of three environments for multiple projects1188 with environments pagination1189 pagination behaviour1190 with `per_page`1191 behaves like environments pagination1192 is expected to include pagination headers1193 with `page=1`1194 behaves like environments pagination1195 is expected to include pagination headers1196 with `page=2`1197 behaves like environments pagination1198 is expected to include pagination headers1199 N+1 queries1200 avoids N+1 database queries1201 with a pipeline1202 returns the last pipeline for an environment1203 returns the last pipeline details1204 returns an upstream pipeline1205 returns a downstream pipeline1206 POST #create1207 format json1208 behaves like unlicensed1209 renders 4041210 without added projects1211 adds projects to the dashboard1212 cannot add a project twice1213 does not add invalid project ids1214 with added project1215 does not add already added project1216 with an anonymous user1217 redirects to sign-in page1218 DELETE #destroy1219 behaves like unlicensed1220 renders 4041221 with added projects1222 removes a project successfully1223 without projects1224 cannot remove invalid project1225 with an anonymous user1226 redirects to sign-in page1227API::Issues1228 GET /issues1229 when authenticated1230 matches V4 response schema1231 blocking issues count1232 returns a blocking issues count of 0 if there are no blocking issues1233 returns a blocking issues count of 1 if there exists a blocking issue1234 filtering by weight1235 returns issues with specific weight1236 returns issues with no weight1237 returns issues with any weight1238 returns issues without specific weight1239 filtering by health status1240 returns issues with specific health_status1241 returns issues with any health_status1242 returns issues with no health_status1243 returns bad request when unsupported value is supplied1244 filtering by assignee_username1245 returns issues with multiple assignees1246 behaves like filtering by epic_id1247 returns issues without epic when epic_id is "None"1248 returns issues with any epic when epic_id is "Any"1249 returns issues with any epic when epic_id is specific1250 filtering by iteration1251 returns issues with specific iteration1252 returns issues with no iteration1253 returns issues with any iteration1254 returns no issues on user dashboard issues list1255 returns issues with a specific iteration title1256 GET /groups/:id/issues1257 avoids N+1 queries with epics1258 avoids N+1 queries with iterations1259 filtering by assignee_username1260 returns issues with multiple assignees1261 behaves like filtering by epic_id1262 returns issues without epic when epic_id is "None"1263 returns issues with any epic when epic_id is "Any"1264 returns issues with any epic when epic_id is specific1265 behaves like exposes epic1266 with epics feature1267 contains epic_iid in response1268 contains epic in response1269 and epic issue is not present1270 exposes epic as nil1271 without epics feature1272 does not contain epic_iid in response1273 does not contain epic_iid in response1274 behaves like exposes iteration1275 with iteration feature1276 contains iteration in response1277 without iterations feature1278 does not contain iteration in response1279 filtering by iteration1280 returns issues with Current iteration1281 GET /projects/:id/issues1282 filtering by assignee_username1283 returns issues with multiple assignees1284 behaves like filtering by epic_id1285 returns issues without epic when epic_id is "None"1286 returns issues with any epic when epic_id is "Any"1287 returns issues with any epic when epic_id is specific1288 on personal project1289 does not contain epic_iid in response1290 on group project1291 behaves like exposes epic1292 with epics feature1293 contains epic_iid in response1294 contains epic in response1295 and epic issue is not present1296 exposes epic as nil1297 without epics feature1298 does not contain epic_iid in response1299 does not contain epic_iid in response1300 behaves like exposes iteration1301 with iteration feature1302 contains iteration in response1303 without iterations feature1304 does not contain iteration in response1305 filtering by iteration1306 returns issues with Current iteration1307 GET /project/:id/issues/:issue_id1308 on personal project1309 does not contain epic_iid in response1310 on group project1311 behaves like exposes epic1312 with epics feature1313 contains epic_iid in response1314 contains epic in response1315 and epic issue is not present1316 exposes epic as nil1317 without epics feature1318 does not contain epic_iid in response1319 does not contain epic_iid in response1320 when specificied issue is of type task1321 returns a not found status code1322 POST /projects/:id/issues1323 creates a new project issue1324 does not allow the creation of an issue of type task1325 behaves like with epic parameter1326 for a group project1327 with epics feature1328 when user can read epics1329 with epic_id parameter1330 sets epic on issue1331 with deprecated epic_iid parameter1332 sets epic on issue1333 when user can not read the epic1334 does not set the epic1335 when user can not admin_issue_relation for the issue1336 returns an error1337 without epics feature1338 does not set epic on issue1339 when both epic_id and epic_iid is used1340 returns an error1341 for a user project1342 does not set epic on issue1343 PUT /projects/:id/issues/:issue_iid to update weight1344 updates an issue with no weight1345 removes a weight from an issue1346 returns 400 if weight is less than minimum weight1347 creates a ResourceWeightEvent1348 does not create a system note1349 adds a note when the weight is changed1350 issuable weights unlicensed1351 ignores the update1352 PUT /projects/:id/issues/:issue_iid to update epic1353 behaves like with epic parameter1354 for a group project1355 with epics feature1356 when user can read epics1357 with epic_id parameter1358 sets epic on issue1359 with deprecated epic_iid parameter1360 sets epic on issue1361 when user can not read the epic1362 does not set the epic1363 when user can not admin_issue_relation for the issue1364 returns an error1365 without epics feature1366 does not set epic on issue1367 when both epic_id and epic_iid is used1368 returns an error1369 for a user project1370 does not set epic on issue1371 PUT /projects/:id/issues/:issue_iid/metric_images/authorize1372 authorizes uploading with workhorse header1373 rejects requests that bypassed gitlab-workhorse1374 when using remote storage1375 when direct upload is enabled1376 responds with status 200, location of file remote store and object details1377 when direct upload is disabled1378 handles as a local file1379 POST /projects/:id/issues/:issue_iid/metric_images1380 user_role: :guest, own_issue: true, expected_status: :unauthorized_upload1381 behaves like unauthorized_upload1382 disallows the upload1383 user_role: :guest, own_issue: false, expected_status: :unauthorized_upload1384 behaves like unauthorized_upload1385 disallows the upload1386 user_role: :reporter, own_issue: true, expected_status: :can_upload_metric_image1387 behaves like can_upload_metric_image1388 creates a new metric image1389 user_role: :reporter, own_issue: false, expected_status: :can_upload_metric_image1390 behaves like can_upload_metric_image1391 creates a new metric image1392 file size too large1393 returns an error1394 object storage enabled1395 uploads to remote storage1396 behaves like can_upload_metric_image1397 creates a new metric image1398 GET /projects/:id/issues/:issue_iid/metric_images1399 user_role: :not_member, own_issue: false, issue_confidential: false, expected_status: :unauthorized_read1400 behaves like unauthorized_read1401 cannot read the metric images1402 user_role: :guest, own_issue: false, issue_confidential: true, expected_status: :unauthorized_read1403 behaves like unauthorized_read1404 cannot read the metric images1405 user_role: :guest, own_issue: true, issue_confidential: false, expected_status: :can_read_metric_image1406 behaves like can_read_metric_image1407 can read the metric images1408 user_role: :guest, own_issue: false, issue_confidential: false, expected_status: :can_read_metric_image1409 behaves like can_read_metric_image1410 can read the metric images1411 user_role: :reporter, own_issue: true, issue_confidential: false, expected_status: :can_read_metric_image1412 behaves like can_read_metric_image1413 can read the metric images1414 user_role: :reporter, own_issue: false, issue_confidential: false, expected_status: :can_read_metric_image1415 behaves like can_read_metric_image1416 can read the metric images1417 PUT /projects/:id/issues/:issue_iid/metric_images/:metric_image_id1418 user_role: :not_member, own_issue: false, issue_confidential: false, expected_status: :unauthorized_update1419 behaves like unauthorized_update1420 cannot delete the metric image1421 user_role: :not_member, own_issue: true, issue_confidential: false, expected_status: :unauthorized_update1422 behaves like unauthorized_update1423 cannot delete the metric image1424 user_role: :not_member, own_issue: true, issue_confidential: true, expected_status: :unauthorized_update1425 behaves like unauthorized_update1426 cannot delete the metric image1427 user_role: :guest, own_issue: false, issue_confidential: true, expected_status: :not_found1428 behaves like not_found1429 cannot delete the metric image1430 user_role: :guest, own_issue: false, issue_confidential: false, expected_status: :unauthorized_update1431 behaves like unauthorized_update1432 cannot delete the metric image1433 user_role: :guest, own_issue: true, issue_confidential: false, expected_status: :can_update_metric_image1434 behaves like can_update_metric_image1435 can update the metric images1436 user_role: :reporter, own_issue: true, issue_confidential: false, expected_status: :can_update_metric_image1437 behaves like can_update_metric_image1438 can update the metric images1439 user_role: :reporter, own_issue: false, issue_confidential: false, expected_status: :can_update_metric_image1440 behaves like can_update_metric_image1441 can update the metric images1442 user has access1443 metric image not found1444 returns an error1445 metric image cannot be updated1446 returns an error1447 DELETE /projects/:id/issues/:issue_iid/metric_images/:metric_image_id1448 user_role: :not_member, own_issue: false, issue_confidential: false, expected_status: :unauthorized_delete1449 behaves like unauthorized_delete1450 cannot delete the metric image1451 user_role: :not_member, own_issue: true, issue_confidential: false, expected_status: :unauthorized_delete1452 behaves like unauthorized_delete1453 cannot delete the metric image1454 user_role: :not_member, own_issue: true, issue_confidential: true, expected_status: :unauthorized_delete1455 behaves like unauthorized_delete1456 cannot delete the metric image1457 user_role: :guest, own_issue: false, issue_confidential: true, expected_status: :not_found1458 behaves like not_found1459 cannot delete the metric image1460 user_role: :guest, own_issue: false, issue_confidential: false, expected_status: :unauthorized_delete1461 behaves like unauthorized_delete1462 cannot delete the metric image1463 user_role: :guest, own_issue: true, issue_confidential: false, expected_status: :can_delete_metric_image1464 behaves like can_delete_metric_image1465 can delete the metric images1466 user_role: :reporter, own_issue: true, issue_confidential: false, expected_status: :can_delete_metric_image1467 behaves like can_delete_metric_image1468 can delete the metric images1469 user_role: :reporter, own_issue: false, issue_confidential: false, expected_status: :can_delete_metric_image1470 behaves like can_delete_metric_image1471 can delete the metric images1472 user has access1473 metric image not found1474 returns an error1475API::MergeTrains1476 GET /projects/:id/merge_trains1477 when there are two merge trains1478 returns merge trains sorted by id in descending order1479 does not have N+1 problem1480 when sort is specified1481 returns merge trains sorted by id in ascending order1482 when scope is specified1483 when scope is active1484 returns active merge trains1485 when scope is complete1486 returns complete merge trains1487 when user is guest1488 forbids the request1489 GET /projects/:id/merge_trains/:target_branch1490 when the project and target branch exist1491 with no params1492 returns the target branch merge train cars1493 with ascending sort1494 returns the target branch merge train cars ascending1495 with descending sort1496 returns the target branch merge train cars descending1497 with scope active1498 returns the active target branch merge train cars1499 when the target branch does not exist1500 returns no merge train cars1501 when the user does not have project access1502 returns forbidden1503 GET /projects/:id/merge_trains/merge_requests/:merge_request_iid1504 when the project and target branch exist1505 returns the target branch merge train cars1506 when the user does not have project access1507 returns forbidden1508 when the merge request does not exist1509 returns not found1510 when merge request is not in a merge train1511 returns not found1512 POST /projects/:id/merge_trains/merge_requests/:merge_request_iid1513 with valid merge request iid1514 behaves like succeeds to add to merge train1515 succeeds to add to merge train1516 with invalid merge request iid1517 exits with invalid return code1518 with no params1519 behaves like succeeds to add to merge train1520 succeeds to add to merge train1521 with valid parameters1522 behaves like succeeds to add to merge train1523 succeeds to add to merge train1524 with extra parameters1525 ignores the param and continues1526 with when_pipeline_succeeds enabled1527 when pipeline is not completed1528 returns status accepted1529 when sha is provided and matches1530 behaves like succeeds to add to merge train1531 succeeds to add to merge train1532 when sha is provided and doesn't match1533 returns status conflict1534 when user is guest1535 returns forbidden before reaching the api endpoint1536 when the service object fails1537 returns status unauthorized1538 when the service object returns an unexpected response1539 returns bad request1540API::Wikis1541 GET /groups/:id/wikis1542 when group wiki is disabled1543 when user is guest1544 returns 404 Group Not Found1545 when user is developer1546 returns 403 Forbidden1547 when user is maintainer1548 returns 403 Forbidden1549 when wiki is available only for team members1550 when user is guest1551 returns 404 Group Not Found (PENDING: Temporarily skipped with xcontext)1552 when user is developer1553 return the empty list of wiki pages (PENDING: Temporarily skipped with xcontext)1554 when wiki has pages1555 returns the list of wiki pages without content (PENDING: Temporarily skipped with xcontext)1556 returns the list of wiki pages with content (PENDING: Temporarily skipped with xcontext)1557 when user is maintainer1558 return the empty list of wiki pages (PENDING: Temporarily skipped with xcontext)1559 when wiki has pages1560 returns the list of wiki pages without content (PENDING: Temporarily skipped with xcontext)1561 returns the list of wiki pages with content (PENDING: Temporarily skipped with xcontext)1562 when wiki is available for everyone with access1563 when user is guest1564 returns 404 Group Not Found1565 when user is developer1566 return the empty list of wiki pages1567 when wiki has pages1568 returns the list of wiki pages without content1569 returns the list of wiki pages with content1570 when user is maintainer1571 return the empty list of wiki pages1572 when wiki has pages1573 returns the list of wiki pages without content1574 returns the list of wiki pages with content1575 GET /groups/:id/wikis/:slug1576 when wiki is disabled1577 when user is guest1578 returns 404 Group Not Found1579 when user is developer1580 returns 403 Forbidden1581 when user is maintainer1582 returns 403 Forbidden1583 when wiki is available only for team members1584 when user is guest1585 returns 404 Group Not Found (PENDING: Temporarily skipped with xcontext)1586 when user is developer1587 behaves like returns wiki page1588 example at ./spec/support/shared_examples/lib/wikis_api_examples.rb:54 (PENDING: Temporarily skipped with xcontext)1589 when render param is false1590 behaves like returns wiki page1591 example at ./spec/support/shared_examples/lib/wikis_api_examples.rb:54 (PENDING: Temporarily skipped with xcontext)1592 when render param is true1593 behaves like returns wiki page1594 example at ./spec/support/shared_examples/lib/wikis_api_examples.rb:54 (PENDING: Temporarily skipped with xcontext)1595 when wiki page has versions1596 when version param is not present1597 retrieves the last version (PENDING: Temporarily skipped with xcontext)1598 when version param is set1599 retrieves the specific page version (PENDING: Temporarily skipped with xcontext)1600 when version param is not valid or inexistent1601 behaves like wiki API 404 Wiki Page Not Found1602 returns 404 Wiki Page Not Found (PENDING: Temporarily skipped with xcontext)1603 when page does not exist1604 returns 404 Wiki Page Not Found (PENDING: Temporarily skipped with xcontext)1605 when user is maintainer1606 behaves like returns wiki page1607 example at ./spec/support/shared_examples/lib/wikis_api_examples.rb:54 (PENDING: Temporarily skipped with xcontext)1608 when render param is false1609 behaves like returns wiki page1610 example at ./spec/support/shared_examples/lib/wikis_api_examples.rb:54 (PENDING: Temporarily skipped with xcontext)1611 when render param is true1612 behaves like returns wiki page1613 example at ./spec/support/shared_examples/lib/wikis_api_examples.rb:54 (PENDING: Temporarily skipped with xcontext)1614 when wiki page has versions1615 when version param is not present1616 retrieves the last version (PENDING: Temporarily skipped with xcontext)1617 when version param is set1618 retrieves the specific page version (PENDING: Temporarily skipped with xcontext)1619 when version param is not valid or inexistent1620 behaves like wiki API 404 Wiki Page Not Found1621 returns 404 Wiki Page Not Found (PENDING: Temporarily skipped with xcontext)1622 when page does not exist1623 returns 404 Wiki Page Not Found (PENDING: Temporarily skipped with xcontext)1624 when wiki is available for everyone with access1625 when user is guest1626 returns 404 Group Not Found1627 when user is developer1628 behaves like returns wiki page1629 is expected to eq "Page 5"1630 when render param is false1631 behaves like returns wiki page1632 is expected to eq "Page 6"1633 when render param is true1634 behaves like returns wiki page1635 is expected to eq "Page 7"1636 when wiki page has versions1637 when version param is not present1638 retrieves the last version1639 when version param is set1640 retrieves the specific page version1641 when version param is not valid or inexistent1642 behaves like wiki API 404 Wiki Page Not Found1643 returns 404 Wiki Page Not Found1644 when page does not exist1645 returns 404 Wiki Page Not Found1646 when user is maintainer1647 behaves like returns wiki page1648 is expected to eq "Page 11"1649 when render param is false1650 behaves like returns wiki page1651 is expected to eq "Page 12"1652 when render param is true1653 behaves like returns wiki page1654 is expected to eq "Page 13"1655 when wiki page has versions1656 when version param is not present1657 retrieves the last version1658 when version param is set1659 retrieves the specific page version1660 when version param is not valid or inexistent1661 behaves like wiki API 404 Wiki Page Not Found1662 returns 404 Wiki Page Not Found1663 when page does not exist1664 returns 404 Wiki Page Not Found1665 POST /groups/:id/wikis1666 when wiki is disabled1667 when user is guest1668 returns 404 Group Not Found1669 when user is developer1670 returns 403 Forbidden1671 when user is maintainer1672 returns 403 Forbidden1673 when wiki is available only for team members1674 when user is guest1675 returns 404 Group Not Found (PENDING: Temporarily skipped with xcontext)1676 when user is developer1677 creates the wiki page (PENDING: Temporarily skipped with xcontext)1678 responds with validation error on empty title (PENDING: Temporarily skipped with xcontext)1679 responds with validation error on empty content (PENDING: Temporarily skipped with xcontext)1680 when user is maintainer1681 creates the wiki page (PENDING: Temporarily skipped with xcontext)1682 responds with validation error on empty title (PENDING: Temporarily skipped with xcontext)1683 responds with validation error on empty content (PENDING: Temporarily skipped with xcontext)1684 when wiki is available for everyone with access1685 when user is guest1686 returns 404 Group Not Found1687 when user is developer1688 creates the wiki page1689 responds with validation error on empty title1690 responds with validation error on empty content1691 when user is maintainer1692 creates the wiki page1693 responds with validation error on empty title1694 responds with validation error on empty content1695 PUT /group/:id/wikis/:slug1696 when wiki is disabled1697 when user is guest1698 returns 404 Group Not Found1699 when user is developer1700 returns 403 Forbidden1701 when user is maintainer1702 returns 403 Forbidden1703 when wiki is available only for team members1704 when user is guest1705 returns 404 Group Not Found (PENDING: Temporarily skipped with xcontext)1706 when user is developer1707 updates the wiki page (PENDING: Temporarily skipped with xcontext)1708 updates with wiki with missing title (PENDING: Temporarily skipped with xcontext)1709 updates with wiki with missing content (PENDING: Temporarily skipped with xcontext)1710 updates with wiki with missing format (PENDING: Temporarily skipped with xcontext)1711 when page does not exist1712 returns 404 Wiki Page Not Found (PENDING: Temporarily skipped with xcontext)1713 when user is maintainer1714 updates the wiki page (PENDING: Temporarily skipped with xcontext)1715 updates with wiki with missing title (PENDING: Temporarily skipped with xcontext)1716 updates with wiki with missing content (PENDING: Temporarily skipped with xcontext)1717 updates with wiki with missing format (PENDING: Temporarily skipped with xcontext)1718 when page is not existing1719 returns 404 Wiki Page Not Found (PENDING: Temporarily skipped with xcontext)1720 when wiki is available for everyone with access1721 when user is guest1722 returns 404 Group Not Found1723 when user is developer1724 updates the wiki page1725 updates with wiki with missing title1726 updates with wiki with missing content1727 updates with wiki with missing format1728 when page does not exist1729 returns 404 Wiki Page Not Found1730 when user is maintainer1731 updates the wiki page1732 updates with wiki with missing title1733 updates with wiki with missing content1734 updates with wiki with missing format1735 when page does not exist1736 returns 404 Wiki Page Not Found1737 when user is owner of parent group1738 updates the wiki page1739 updates with wiki with missing title1740 updates with wiki with missing content1741 updates with wiki with missing format1742 DELETE /groups/:id/wikis/:slug1743 when wiki is disabled1744 when user is guest1745 returns 404 Group Not Found1746 when user is developer1747 returns 403 Forbidden1748 when user is maintainer1749 returns 403 Forbidden1750 when wiki is available only for team members1751 when user is guest1752 returns 404 Group Not Found (PENDING: Temporarily skipped with xcontext)1753 when user is developer1754 returns 403 Forbidden (PENDING: Temporarily skipped with xcontext)1755 when user is maintainer1756 returns 204 No Content (PENDING: Temporarily skipped with xcontext)1757 when wiki is available for everyone with access1758 when user is guest1759 returns 404 Group Not Found1760 when user is developer1761 returns 403 Forbidden1762 when user is maintainer1763 returns 204 No Content1764 when page does not exist1765 returns 404 Wiki Page Not Found1766 when user is owner of parent group1767 returns 204 No Content1768 POST /groups/:id/wikis/attachments1769 when wiki is disabled1770 when user is guest1771 returns 404 Group Not Found1772 when user is developer1773 returns 403 Forbidden1774 when user is maintainer1775 returns 403 Forbidden1776 when wiki is available only for team members1777 when user is guest1778 returns 404 Group Not Found (PENDING: Temporarily skipped with xcontext)1779 when user is developer1780 pushes attachment to the wiki repository (PENDING: Temporarily skipped with xcontext)1781 responds with validation error on empty file (PENDING: Temporarily skipped with xcontext)1782 responds with validation error on invalid temp file (PENDING: Temporarily skipped with xcontext)1783 is backward compatible with regular multipart uploads (PENDING: Temporarily skipped with xcontext)1784 when user is maintainer1785 pushes attachment to the wiki repository (PENDING: Temporarily skipped with xcontext)1786 responds with validation error on empty file (PENDING: Temporarily skipped with xcontext)1787 responds with validation error on invalid temp file (PENDING: Temporarily skipped with xcontext)1788 is backward compatible with regular multipart uploads (PENDING: Temporarily skipped with xcontext)1789 when wiki is available for everyone with access1790 when user is guest1791 returns 404 Group Not Found1792 when user is developer1793 pushes attachment to the wiki repository1794 responds with validation error on empty file1795 responds with validation error on invalid temp file1796 is backward compatible with regular multipart uploads1797 when user is maintainer1798 pushes attachment to the wiki repository1799 responds with validation error on empty file1800 responds with validation error on invalid temp file1801 is backward compatible with regular multipart uploads1802API::Scim::InstanceScim1803 # order random1804 when user with an alphanumeric extern_uid1805 behaves like SCIM API endpoints1806 GET api/scim/v2/application/Users1807 responds with paginated users when there is no filter1808 behaves like Not available to SaaS customers1809 on GitLab.com1810 renders not found1811 behaves like Instance level SCIM license required1812 when license is not enabled1813 returns not found error1814 behaves like SCIM token authenticated1815 without token auth1816 responds with 4011817 behaves like SAML SSO must be enabled1818 responds with 403 when instance SAML SSO not enabled1819 when unsupported filters are used1820 responds with an error1821 when existing user matches filter1822 responds with 2001823 sets default values as required by the specification1824 when no user matches filter1825 responds with 2001826 GET api/scim/v2/application/Users/:id1827 responds with 403 when instance SAML SSO not configured1828 behaves like Not available to SaaS customers1829 on GitLab.com1830 renders not found1831 behaves like Instance level SCIM license required1832 when license is not enabled1833 returns not found error1834 behaves like SCIM token authenticated1835 without token auth1836 responds with 4011837 behaves like SAML SSO must be enabled1838 responds with 403 when instance SAML SSO not enabled1839 behaves like Invalid extern_uid returns 4041840 when there is no user associated with extern_uid1841 responds with 4041842 when there is a user with extern_uid1843 responds with 2001844 POST api/scim/v2/application/Users1845 behaves like Not available to SaaS customers1846 on GitLab.com1847 renders not found1848 behaves like Instance level SCIM license required1849 when license is not enabled1850 returns not found error1851 behaves like SCIM token authenticated1852 without token auth1853 responds with 4011854 behaves like SAML SSO must be enabled1855 responds with 403 when instance SAML SSO not enabled1856 without an existing user1857 responds with 201 and the new user attributes1858 when existing user1859 responds with 201 and the scim user attributes1860 when a provisioning error occurs1861 returns a 412 response and error message1862 behaves like Filtered params in errors1863 does not expose the password in error response1864 does not expose the access token in error response1865 when a conflict occurs1866 returns a 409 response and error message1867 behaves like Filtered params in errors1868 does not expose the password in error response1869 does not expose the access token in error response1870 PATCH api/scim/v2/application/Users/:id1871 behaves like Not available to SaaS customers1872 on GitLab.com1873 renders not found1874 behaves like Instance level SCIM license required1875 when license is not enabled1876 returns not found error1877 behaves like SCIM token authenticated1878 without token auth1879 responds with 4011880 behaves like SAML SSO must be enabled1881 responds with 403 when instance SAML SSO not enabled1882 behaves like Invalid extern_uid returns 4041883 when there is no user associated with extern_uid1884 responds with 4041885 when params update extern_uid for existing scim identity1886 responds with 204 and updates extern_uid1887 when params update other attributes on existing scim identity1888 responds with success but does not update the attributes1889 when params are invalid1890 ignores the params and returns a success response1891 when extern_uid update fails1892 returns an error1893 when deprovision fails1894 returns an error1895 when reprovision fails1896 returns an error1897 when param values deactivate scim identity1898 deactivates the scim_identity1899 when param values reactivate scim identity1900 activates the scim_identity1901 does not call reprovision service when identity is already active1902 when id param is missing from request1903 returns method not allowed error1904 DELETE /scim/v2/application/Users/:id1905 behaves like Not available to SaaS customers1906 on GitLab.com1907 renders not found1908 behaves like Instance level SCIM license required1909 when license is not enabled1910 returns not found error1911 behaves like SCIM token authenticated1912 without token auth1913 responds with 4011914 behaves like SAML SSO must be enabled1915 responds with 403 when instance SAML SSO not enabled1916 behaves like Invalid extern_uid returns 4041917 when there is no user associated with extern_uid1918 responds with 4041919 when existing user1920 responds with 204 and deactivates the scim identity1921 when deprovision fails1922 returns an error1923 when user with an email extern_uid1924 behaves like SCIM API endpoints1925 GET api/scim/v2/application/Users1926 responds with paginated users when there is no filter1927 behaves like Not available to SaaS customers1928 on GitLab.com1929 renders not found1930 behaves like Instance level SCIM license required1931 when license is not enabled1932 returns not found error1933 behaves like SCIM token authenticated1934 without token auth1935 responds with 4011936 behaves like SAML SSO must be enabled1937 responds with 403 when instance SAML SSO not enabled1938 when unsupported filters are used1939 responds with an error1940 when existing user matches filter1941 responds with 2001942 sets default values as required by the specification1943 when no user matches filter1944 responds with 2001945 GET api/scim/v2/application/Users/:id1946 responds with 403 when instance SAML SSO not configured1947 behaves like Not available to SaaS customers1948 on GitLab.com1949 renders not found1950 behaves like Instance level SCIM license required1951 when license is not enabled1952 returns not found error1953 behaves like SCIM token authenticated1954 without token auth1955 responds with 4011956 behaves like SAML SSO must be enabled1957 responds with 403 when instance SAML SSO not enabled1958 behaves like Invalid extern_uid returns 4041959 when there is no user associated with extern_uid1960 responds with 4041961 when there is a user with extern_uid1962 responds with 2001963 POST api/scim/v2/application/Users1964 behaves like Not available to SaaS customers1965 on GitLab.com1966 renders not found1967 behaves like Instance level SCIM license required1968 when license is not enabled1969 returns not found error1970 behaves like SCIM token authenticated1971 without token auth1972 responds with 4011973 behaves like SAML SSO must be enabled1974 responds with 403 when instance SAML SSO not enabled1975 without an existing user1976 responds with 201 and the new user attributes1977 when existing user1978 responds with 201 and the scim user attributes1979 when a provisioning error occurs1980 returns a 412 response and error message1981 behaves like Filtered params in errors1982 does not expose the password in error response1983 does not expose the access token in error response1984 when a conflict occurs1985 returns a 409 response and error message1986 behaves like Filtered params in errors1987 does not expose the password in error response1988 does not expose the access token in error response1989 PATCH api/scim/v2/application/Users/:id1990 behaves like Not available to SaaS customers1991 on GitLab.com1992 renders not found1993 behaves like Instance level SCIM license required1994 when license is not enabled1995 returns not found error1996 behaves like SCIM token authenticated1997 without token auth1998 responds with 4011999 behaves like SAML SSO must be enabled2000 responds with 403 when instance SAML SSO not enabled2001 behaves like Invalid extern_uid returns 4042002 when there is no user associated with extern_uid2003 responds with 4042004 when params update extern_uid for existing scim identity2005 responds with 204 and updates extern_uid2006 when params update other attributes on existing scim identity2007 responds with success but does not update the attributes2008 when params are invalid2009 ignores the params and returns a success response2010 when extern_uid update fails2011 returns an error2012 when deprovision fails2013 returns an error2014 when reprovision fails2015 returns an error2016 when param values deactivate scim identity2017 deactivates the scim_identity2018 when param values reactivate scim identity2019 activates the scim_identity2020 does not call reprovision service when identity is already active2021 when id param is missing from request2022 returns method not allowed error2023 DELETE /scim/v2/application/Users/:id2024 behaves like Not available to SaaS customers2025 on GitLab.com2026 renders not found2027 behaves like Instance level SCIM license required2028 when license is not enabled2029 returns not found error2030 behaves like SCIM token authenticated2031 without token auth2032 responds with 4012033 behaves like SAML SSO must be enabled2034 responds with 403 when instance SAML SSO not enabled2035 behaves like Invalid extern_uid returns 4042036 when there is no user associated with extern_uid2037 responds with 4042038 when existing user2039 responds with 204 and deactivates the scim identity2040 when deprovision fails2041 returns an error2042Projects::VulnerabilityFeedbackController2043 GET #count2044 @vulnerability_feedback2045 returns a successful 200 response2046 returns project feedbacks list2047 with filter params2048 returns project feedbacks list filtered on category2049 returns project feedbacks list filtered on feedback_type2050 returns project feedbacks list filtered on category and feedback_type2051 GET #index2052 @vulnerability_feedback2053 returns a successful 200 response2054 returns project feedbacks list2055 when pagination parameters are given2056 when page and per page are given2057 returns the desired quantity of vulnerability_feedbacks2058 when a following page is requested2059 returns the expected vulnerability_feedbacks per pagination2060 when just page is given2061 returns the default quantity of vulnerability_feedbacks2062 when just per_page is given2063 returns the desired quantity of vulnerability_feedbacks2064 returns the first page of vulnerability_feedbacks2065 when an invalid page is given2066 returns the desired quantity of vulnerability_feedbacks2067 returns the first page of vulnerability_feedbacks2068 when an invalid per_page is given2069 returns the default quantity of vulnerability_feedbacks2070 returns the first page of vulnerability_feedbacks2071 when the pipeline has been set to another project2072 does not present the pipeline2073 with filter params2074 returns project feedbacks list filtered on category2075 returns project feedbacks list filtered on feedback_type2076 returns project feedbacks list filtered on category and feedback_type2077 with unauthorized user for given project2078 returns a 404 response2079 POST #create2080 with valid params2081 behaves like vulnerability response2082 renders vulnerability serializer with vulnerability object2083 when id of a vulnerability is not provided2084 creates no vulnerability issue link for related vulnerability2085 when id of a vulnerability is provided2086 creates vulnerability issue link for related vulnerability2087 with invalid params2088 returns a forbidden 403 response when feedbback_type is nil2089 returns a forbidden 403 response when feedbback_type is invalid2090 with unauthorized user for feedback creation2091 for issue feedback2092 returns a forbidden 403 response2093 for merge_request feedback2094 returns a forbidden 403 response2095 for dismissal feedback2096 returns a forbidden 403 response2097 with unauthorized user for given project2098 returns a 404 response2099 with pipeline in another project2100 returns a 422 response2101 with nonexistent pipeline_id2102 returns a 422 response2103 with nil pipeline_id2104 behaves like vulnerability response2105 renders vulnerability serializer with vulnerability object2106 PATCH #update2107 with valid params2108 renders vulnerability serializer with vulnerability object2109 returns a successful 200 response2110 updates the comment attributes2111 with invalid params2112 returns a not found 404 response for invalid vulnerability feedback id2113 with unauthorized user for feedback update2114 returns a forbidden 403 response2115 with unauthorized user for given project2116 returns a 404 response2117 DELETE #destroy2118 with valid params2119 returns a successful 204 response2120 with invalid params2121 returns a not found 404 response for invalid vulnerability feedback id2122 with unauthorized user for feedback deletion2123 returns a forbidden 403 response2124 with unauthorized user for given project2125 returns a 404 response2126 for issue feedback2127 returns a forbidden 403 response2128 for merge_request feedback2129 returns a forbidden 403 response2130API::ProjectAliases2131 without premium license2132 GET /project_aliases2133 returns 4032134 behaves like GET request permissions for admin mode2135 behaves like when admin2136 behaves like makes request2137 returns2138 behaves like makes request2139 returns2140 behaves like when user2141 returns2142 behaves like makes request2143 returns2144 GET /project_aliases/:name2145 returns 4032146 behaves like GET request permissions for admin mode2147 behaves like when admin2148 behaves like makes request2149 returns2150 behaves like makes request2151 returns2152 behaves like when user2153 returns2154 behaves like makes request2155 returns2156 POST /project_aliases2157 returns 4032158 behaves like POST request permissions for admin mode2159 behaves like when admin2160 behaves like makes request2161 returns2162 behaves like makes request2163 returns2164 behaves like when user2165 returns2166 behaves like makes request2167 returns2168 DELETE /project_aliases/:name2169 returns 4032170 behaves like DELETE request permissions for admin mode2171 behaves like when admin2172 behaves like makes request2173 returns2174 behaves like makes request2175 returns2176 behaves like when user2177 returns2178 behaves like makes request2179 returns2180 with premium license2181 GET /project_aliases2182 behaves like GET request permissions for admin mode2183 behaves like when admin2184 behaves like makes request2185 returns2186 behaves like makes request2187 returns2188 behaves like when user2189 returns2190 behaves like makes request2191 returns2192 behaves like GitLab administrator only API endpoint2193 anonymous user2194 returns 4012195 regular user2196 returns 4032197 admin2198 returns the project aliases list2199 GET /project_aliases/:name2200 behaves like GET request permissions for admin mode2201 behaves like when admin2202 behaves like makes request2203 returns2204 behaves like makes request2205 returns2206 behaves like when user2207 returns2208 behaves like makes request2209 returns2210 behaves like GitLab administrator only API endpoint2211 anonymous user2212 returns 4012213 regular user2214 returns 4032215 admin2216 existing project alias2217 returns the project alias2218 non-existent project alias2219 returns 4042220 POST /project_aliases2221 behaves like POST request permissions for admin mode2222 behaves like when admin2223 behaves like makes request2224 returns2225 behaves like makes request2226 returns2227 behaves like when user2228 returns2229 behaves like makes request2230 returns2231 behaves like GitLab administrator only API endpoint2232 anonymous user2233 returns 4012234 regular user2235 returns 4032236 admin2237 existing project alias2238 returns 4002239 non-existent project alias2240 returns 2002241 DELETE /project_aliases/:name2242 behaves like DELETE request permissions for admin mode2243 behaves like when admin2244 behaves like makes request2245 returns2246 behaves like makes request2247 returns2248 behaves like when user2249 returns2250 behaves like makes request2251 returns2252 behaves like GitLab administrator only API endpoint2253 anonymous user2254 returns 4012255 regular user2256 returns 4032257 admin2258 existing project alias2259 returns 2042260 non-existent project alias2261 returns 4042262Groups::EpicIssuesController2263 GET #index2264 behaves like unlicensed epics action2265 returns 403 status2266 when epics feature is enabled2267 when user has access to epic2268 returns status 2002269 returns the correct json2270 when user does not have access to epic2271 returns 404 status2272 POST #create2273 behaves like unlicensed epics action2274 returns 403 status2275 when epics feature is enabled2276 when user has permissions to create requested association2277 returns correct response for the correct issue reference2278 creates a new EpicIssue record2279 when user does not have permissions to create requested association2280 returns correct response for the correct issue reference2281 does not create a new EpicIssue record2282 DELETE #destroy2283 behaves like unlicensed epics action2284 returns 403 status2285 when epics feature is enabled2286 when user has permissions to delete the link2287 returns status 2002288 destroys the link2289 when user does not have permissions to delete the link2290 returns status 4032291 does not destroy the link2292 when the epic from the association does not equal epic from the path2293 returns status 4042294 does not destroy the link2295 when the epic_issue record does not exists2296 returns status 4042297 PUT #update2298 behaves like unlicensed epics action2299 returns 403 status2300 when epics feature is enabled2301 when user has permissions to admin the epic2302 returns status 2002303 updates the issue position value2304 when user does not have permissions to admin the epic2305 returns status 4032306 when the epic from the association does not equal epic from the path2307 returns status 4042308 when the epic_issue record does not exists2309 returns status 4042310Updating an epic tree2311 when epics and subepics features are enabled2312 when the user does not have permission2313 returns the error message2314 behaves like a mutation that does not update the tree2315 does not change relative_positions2316 when user cannot reorder issue2317 returns the error message2318 behaves like a mutation that does not update the tree2319 does not change relative_positions2320 when user cannot reorder adjacent reference2321 returns the error message2322 behaves like a mutation that does not update the tree2323 does not change relative_positions2324 when the user has permission2325 when moving an epic2326 when moving an epic is successful2327 updates the epics relative positions2328 returns nil in errors2329 when a new_parent_id is provided2330 updates the epics relative positions and updates the parent2331 returns nil in errors2332 when relative_position is invalid2333 behaves like a mutation that returns top-level errors2334 is expected to contain exactly "Variable $epicTreeReorderInput of type EpicTreeReorderInput! was provided invalid value for moved.relativePosition (Expected \"invalid\" to be one of: before, after)"2335 when object being moved is not supported type2336 returns the error message2337 when moving an epic fails due to the parents of the relative position object and the moving object mismatching2338 returns the error message2339 behaves like a mutation that does not update the tree2340 does not change relative_positions2341 when the new parent is another epic and subepics feature is disabled2342 returns the error message2343 behaves like a mutation that does not update the tree2344 does not change relative_positions2345 when moving an issue2346 updates the epics relative positions2347 returns nil in errors2348 when a new_parent_id is provided2349 updates the epic's relative positions and parent2350 returns nil in errors2351 when moving an issue fails due to the parents of the relative position object and the moving object mismatching2352 returns the error message2353 behaves like a mutation that does not update the tree2354 does not change relative_positions2355Groups::Settings::DomainVerificationController2356 # order random2357 DELETE /groups/:group_id/-/settings/domain_verification/:domain/clean_certificate2358 remove domain certificate2359 behaves like renders 404 when domain_verification is unavailable2360 when domain_verification is unavailable2361 renders 4042362 POST /groups/:group_id/-/settings/domain_verification2363 creates a new domain2364 fails to create domain without project_id2365 creates a new secure domain2366 creates domain with letsencrypt enabled2367 fails to create domain without key2368 fails to create domain with key missmatch2369 behaves like renders 404 when domain_verification is unavailable2370 when domain_verification is unavailable2371 renders 4042372 POST /groups/:group_id/-/settings/domain_verification/:domain/verify2373 call VerifyPagesDomainService success2374 call VerifyPagesDomainService error2375 behaves like renders 404 when domain_verification is unavailable2376 when domain_verification is unavailable2377 renders 4042378 POST /groups/:group_id/-/settings/domain_verification/:domain/retry_auto_ssl2379 call PagesDomains::RetryAcmeOrderService2380 behaves like renders 404 when domain_verification is unavailable2381 when domain_verification is unavailable2382 renders 4042383 GET /groups/:group_id/-/settings/domain_verification2384 when domain verification is available2385 when the user is an owner2386 renders index with 200 status code2387 behaves like respects sso enforcement2388 redirects to SSO sign in2389 when the feature is disabled2390 does not redirect to SSO sign in2391 when subgroup2392 behaves like renders 4042393 renders 4042394 when user is not owner2395 behaves like renders 4042396 renders 4042397 behaves like renders 404 when domain_verification is unavailable2398 when domain_verification is unavailable2399 renders 4042400 PUT /groups/:group_id/-/settings/domain_verification/:domain2401 updates pages domain removing certificate2402 publishes PagesDomainUpdatedEvent event2403 updates pages domain adding certificate2404 updates pages domain enabling letsencrypt2405 updates pages domain disabling letsencrypt and adding certificate2406 with invalid params2407 fails to update pages domain adding certificate without key2408 does not publish PagesDomainUpdatedEvent event2409 fails to update pages domain adding certificate with missing chain2410 fails to update pages domain with key missmatch2411 behaves like renders 404 when domain_verification is unavailable2412 when domain_verification is unavailable2413 renders 4042414 GET /groups/:group_id/-/settings/domain_verification/new2415 when domain_verification_operation is enabled2416 render the 'new' page2417 behaves like respects sso enforcement2418 redirects to SSO sign in2419 when the feature is disabled2420 does not redirect to SSO sign in2421 behaves like renders 404 when domain_verification is unavailable2422 when domain_verification is unavailable2423 renders 4042424 GET /groups/:group_id/-/settings/domain_verification/:domain2425 returns domain2426 returns domain with a certificate2427 returns domain with letsencrypt2428 returns domain with letsencrypt with auto_ssl_failed2429 behaves like renders 404 when domain_verification is unavailable2430 when domain_verification is unavailable2431 renders 4042432 DELETE /groups/:group_id/-/settings/domain_verification/:domain2433 deletes a pages domain2434 behaves like renders 404 when domain_verification is unavailable2435 when domain_verification is unavailable2436 renders 4042437API::VulnerabilityIssueLinks2438 GET /vulnerabilities/:id/issue_links2439 with an authorized user with proper permissions2440 when linked issue is not confidential and available for the user2441 gets the list of visible issue links2442 when there is an additional confidential issue linked2443 gets the list of visible issue links2444 does not return confidential issue in the response2445 when link is created to issue in the inaccessible project2446 gets the list of visible issue links2447 does not return issue from inaccessible project2448 behaves like responds with "not found" for an unknown vulnerability ID2449 is expected to respond with numeric status code not_found2450 behaves like forbids access to vulnerability API endpoint in case of disabled features2451 when security dashboard feature is not available2452 responds with 403 Forbidden2453 permissions2454 is expected to be allowed for :admin2455 is expected to be allowed for :owner2456 is expected to be allowed for :maintainer2457 is expected to be allowed for :developer2458 is expected to be allowed for :auditor2459 is expected to be denied for :reporter2460 is expected to be denied for :guest2461 is expected to be denied for :anonymous2462 POST /vulnerabilities/:id/issue_links2463 with an authorized user with proper permissions2464 with valid params2465 creates a new vulnerability-issue link2466 when issue is from different project2467 when target_project_id is invalid2468 responds with "not found" and specific error message2469 when user does not have access to the project2470 responds with "not found" and specific error message2471 when user is authorized with proper permissions to the project2472 creates a new vulnerability-issue link2473 with unknown issue ID2474 responds with "not found" and specific error message2475 when a link between these issue and vulnerability already exists2476 responds with "conflict" status code and specific error message2477 when a "created" link for a vulnerability already exists2478 responds with "conflict" status code and specific error message2479 when trying to relate a confidential issue of the same project2480 creates a new vulnerability-issue link2481 behaves like responds with "not found" for an unknown vulnerability ID2482 is expected to respond with numeric status code not_found2483 behaves like forbids access to vulnerability API endpoint in case of disabled features2484 when security dashboard feature is not available2485 responds with 403 Forbidden2486 permissions2487 is expected to be allowed for :admin2488 is expected to be allowed for :owner2489 is expected to be allowed for :maintainer2490 is expected to be allowed for :developer2491 is expected to be denied for :auditor2492 is expected to be denied for :reporter2493 is expected to be denied for :guest2494 is expected to be denied for :anonymous2495 DELETE /vulnerabilities/:id/issue_links/:issue_link_id2496 with an authorized user with proper permissions2497 with valid params2498 deletes the specified vulnerability-issue link2499 with link to an issue that the current user cannot see2500 deletes the link without disclosing the linked issue2501 with unknown issue link ID2502 responds with "not found" and specific error message2503 behaves like responds with "not found" for an unknown vulnerability ID2504 is expected to respond with numeric status code not_found2505 behaves like forbids access to vulnerability API endpoint in case of disabled features2506 when security dashboard feature is not available2507 responds with 403 Forbidden2508 permissions2509 is expected to be allowed for :admin2510 is expected to be allowed for :owner2511 is expected to be allowed for :maintainer2512 is expected to be allowed for :developer2513 is expected to be denied for :auditor2514 is expected to be denied for :reporter2515 is expected to be denied for :guest2516 is expected to be denied for :anonymous2517Query.project(fullPath).dependencies2518 # order random2519 does not make N+1 queries2520 returns the expected dependency data when performing a well-formed query with an authorized user2521 with sort as an argument2522 sorts by component name descending2523 with package_managers as an argument2524 filters records based on the package manager name2525 when dependencies have no version data2526 returns a nil version2527 with an unauthorized user2528 does not return dependency data2529 behaves like sorted paginated query2530 behaves like requires variables2531 shared example requires variables to be set2533 when sorting2534 sorts correctly2535 when paginating2536 paginates correctly2537 with component_names as an argument2538 filters records based on the component name2539 when dependencies have no source data2540 returns nil for data which originates from a source2541API::VulnerabilityExports2542 POST /security/projects/:id/vulnerability_exports2543 behaves like creating export for exportable2544 when the request does not fulfill the requirements2545 responds with bad_request2546 when the request fulfills the requirements2547 when the user is not authorized to take the action2548 responds with 403 forbidden2549 when the user is authorized to take the action2550 when the export creation succeeds2551 returns information about new vulnerability export2552 when the export creation fails2553 returns the error message2554 behaves like forbids access to vulnerability API endpoint in case of disabled features2555 when security dashboard feature is not available2556 responds with 403 Forbidden2557 permissions2558 is expected to be allowed for :admin2559 is expected to be allowed for :owner2560 is expected to be allowed for :maintainer2561 is expected to be allowed for :developer2562 is expected to be allowed for :auditor2563 is expected to be denied for :reporter2564 is expected to be denied for :guest2565 is expected to be denied for :anonymous2566 POST /security/groups/:id/vulnerability_exports2567 behaves like creating export for exportable2568 when the request does not fulfill the requirements2569 responds with bad_request2570 when the request fulfills the requirements2571 when the user is not authorized to take the action2572 responds with 403 forbidden2573 when the user is authorized to take the action2574 when the export creation succeeds2575 returns information about new vulnerability export2576 when the export creation fails2577 returns the error message2578 behaves like forbids access to vulnerability API endpoint in case of disabled features2579 when security dashboard feature is not available2580 responds with 403 Forbidden2581 POST /security/vulnerability_exports2582 behaves like creating export for exportable2583 when the request does not fulfill the requirements2584 responds with bad_request2585 when the request fulfills the requirements2586 when the user is not authorized to take the action2587 responds with 403 forbidden2588 when the user is authorized to take the action2589 when the export creation succeeds2590 returns information about new vulnerability export2591 when the export creation fails2592 returns the error message2593 behaves like forbids access to vulnerability API endpoint in case of disabled features2594 when security dashboard feature is not available2595 responds with 403 Forbidden2596 GET /security/vulnerability_exports/:id2597 with an authorized user with proper permissions2598 when export is finished2599 returns information about vulnerability export2600 does not return Poll-Interval header2601 when export is running2602 returns information about vulnerability export2603 returns Poll-Interval header with value set to 5 seconds2604 permissions2605 is expected to be denied for :admin2606 is expected to be denied for :owner2607 is expected to be denied for :maintainer2608 is expected to be denied for :developer2609 is expected to be denied for :auditor2610 is expected to be denied for :reporter2611 is expected to be denied for :guest2612 is expected to be denied for :anonymous2613 for export author2614 is expected to be allowed for #<User id:1453 @user1094>2615 GET /security/vulnerability_exports/:id/download2616 with an authorized user with proper permissions2617 when export is running2618 renders 4042619 when export is failed2620 renders 4042621 when export is finished2622 renders 200 with CSV file2623 permissions2624 is expected to be denied for :admin2625 is expected to be denied for :owner2626 is expected to be denied for :maintainer2627 is expected to be denied for :developer2628 is expected to be denied for :auditor2629 is expected to be denied for :reporter2630 is expected to be denied for :guest2631 is expected to be denied for :anonymous2632 for export author2633 is expected to be allowed for #<User id:1453 @user1094>2634Admin::CredentialsController2635 GET #index2636 admin user2637 when `credentials_inventory` feature is enabled2638 responds with 2002639 behaves like Snowplow event tracking with RedisHLL context2640 behaves like Snowplow event tracking2641 is emitted2642 filtering by type of credential2643 no credential type specified2644 behaves like filtering by `personal_access_tokens`2645 is expected to contain exactly #<PersonalAccessToken id: 517, user_id: 1481, name: "PAT 517", revoked: false, expires_at: "2023-09-1...st_used_at: nil, after_expiry_notification_delivered: false, previous_personal_access_token_id: nil>, #<PersonalAccessToken id: 520, user_id: 1481, name: "PAT 520", revoked: false, expires_at: "2023-09-1...st_used_at: nil, after_expiry_notification_delivered: false, previous_personal_access_token_id: nil>, and #<PersonalAccessToken id: 521, user_id: 1481, name: "PAT 521", revoked: false, expires_at: "2023-09-1...st_used_at: nil, after_expiry_notification_delivered: false, previous_personal_access_token_id: nil>2646 non-existent credential type specified2647 behaves like filtering by `personal_access_tokens`2648 is expected to contain exactly #<PersonalAccessToken id: 517, user_id: 1481, name: "PAT 517", revoked: false, expires_at: "2023-09-1...st_used_at: nil, after_expiry_notification_delivered: false, previous_personal_access_token_id: nil>, #<PersonalAccessToken id: 520, user_id: 1481, name: "PAT 520", revoked: false, expires_at: "2023-09-1...st_used_at: nil, after_expiry_notification_delivered: false, previous_personal_access_token_id: nil>, and #<PersonalAccessToken id: 521, user_id: 1481, name: "PAT 521", revoked: false, expires_at: "2023-09-1...st_used_at: nil, after_expiry_notification_delivered: false, previous_personal_access_token_id: nil>2649 credential type specified as `personal_access_tokens`2650 behaves like filtering by `personal_access_tokens`2651 is expected to contain exactly #<PersonalAccessToken id: 517, user_id: 1481, name: "PAT 517", revoked: false, expires_at: "2023-09-1...st_used_at: nil, after_expiry_notification_delivered: false, previous_personal_access_token_id: nil>, #<PersonalAccessToken id: 520, user_id: 1481, name: "PAT 520", revoked: false, expires_at: "2023-09-1...st_used_at: nil, after_expiry_notification_delivered: false, previous_personal_access_token_id: nil>, and #<PersonalAccessToken id: 521, user_id: 1481, name: "PAT 521", revoked: false, expires_at: "2023-09-1...st_used_at: nil, after_expiry_notification_delivered: false, previous_personal_access_token_id: nil>2652 credential type specified as `ssh_keys`2653 filters by ssh keys2654 credential type specified as `resource_access_tokens`2655 filters by project and group access tokens2656 credential type specified as `gpg_keys`2657 filters by gpg keys2658 avoids N+1 queries2659 when `credentials_inventory` feature is disabled2660 returns 4042661 non-admin user2662 returns 4042663 DELETE #destroy2664 behaves like credentials inventory delete SSH key2665 admin user2666 when `credentials_inventory` feature is enabled2667 and the ssh_key exists2668 and it removes the key2669 renders a success message2670 notifies the key owner2671 and it fails to remove the key2672 renders a failure message2673 and the ssh_key does not exist2674 renders a not found message2675 when `credentials_inventory` feature is disabled2676 returns 4042677 non-admin user2678 returns 4042679 PUT #revoke2680 admin user2681 when `credentials_inventory` feature is enabled2682 non-existent personal access token specified2683 behaves like responds with 4042684 is expected to respond with numeric status code not_found2685 is expected to respond with numeric status code not_found2686 is expected to respond with numeric status code not_found2687 with an existing personal access token2688 does not have permissions to revoke the credential2689 behaves like displays the flash error message2690 is expected to eql "Not permitted to revoke"2691 personal access token is already revoked2692 behaves like displays the flash success message2693 is expected to start with "Revoked personal access token "2694 aggregate_failures2695 aggregate_failures2696 personal access token is already expired2697 behaves like displays the flash success message2698 is expected to start with "Revoked personal access token "2699 aggregate_failures2700 aggregate_failures2701 personal access token is not revoked or expired2702 informs the token owner2703 behaves like displays the flash success message2704 is expected to start with "Revoked personal access token "2705 aggregate_failures2706 aggregate_failures2707 when `credentials_inventory` feature is disabled2708 behaves like responds with 4042709 is expected to respond with numeric status code not_found2710 is expected to respond with numeric status code not_found2711 is expected to respond with numeric status code not_found2712 non-admin user2713 behaves like responds with 4042714 is expected to respond with numeric status code not_found2715 is expected to respond with numeric status code not_found2716 is expected to respond with numeric status code not_found2717Admin::CredentialsController2718 behaves like tracking unique visits2719 tracks unique visit if the format is HTML2720 tracks unique visit if DNT is not enabled2721 does not track unique visit if DNT is enabled2722 does not track unique visit if the format is JSON2723API::ProjectPushRule ProjectPushRule2724 GET /projects/:id/push_rule2725 authorized user2726 returns project push rule2727 the commit_committer_check feature is enabled2728 returns the commit_committer_check information2729 the reject_unsigned_commits feature is enabled2730 returns the reject_unsigned_commits information2731 the reject_unsigned_commits feature is not enabled2732 succeeds2733 does not return the reject_unsigned_commits information2734 push rules are not enabled2735 is forbidden2736 developer2737 does not have access to project push rule2738 POST /projects/:id/push_rule2739 adds push rule to project with no file size2740 returns 400 if no parameter is given2741 maintainer2742 is accepted2743 indicates that it belongs to the correct project2744 sets all given parameters2745 commit_committer_check not allowed by License2746 is forbidden to use this service2747 reject_unsigned_commits not allowed by License2748 is forbidden to use this service2749 commit_committer_check is not enabled2750 is forbidden to send the the :commit_committer_check parameter2751 without the :commit_committer_check parameter2752 sets all given parameters2753 reject_unsigned_commits is not enabled2754 is forbidden to send the the :reject_unsigned_commits parameter2755 without the :reject_unsigned_commits parameter2756 sets all given parameters2757 invalid params2758 returns an error2759 when regex is too long2760 returns an error2761 when feature flag "add_validation_for_push_rules" is disabled2762 is successful2763 user with developer_access2764 does not add push rule to project2765 with existing push rule2766 returns an error response2767 PUT /projects/:id/push_rule2768 does not update push rule for unauthorized user2769 with existing push rule2770 setting deny_delete_tag and commit_message_regex2771 is successful2772 includes the expected settings2773 setting commit_committer_check2774 is successful2775 sets the commit_committer_check2776 the commit_committer_check feature is not enabled2777 is an error to provide this parameter2778 setting reject_unsigned_commits2779 is successful2780 sets the reject_unsigned_commits2781 the reject_unsigned_commits feature is not enabled2782 is an error to provide the this parameter2783 not providing parameters2784 is an error2785 invalid params2786 returns an error2787 without existing push rule2788 returns an error response2789 DELETE /projects/:id/push_rule2790 for existing push rule2791 maintainer2792 deletes push rule from project2793 user with developer_access2794 returns a 403 error2795 for non existing push rule2796 deletes push rule from project2797 returns a 403 error if not authorized2798SubscriptionsController2799 GET #new2800 for unauthenticated subscription request2801 is expected to respond with numeric status code redirect2802 is expected to redirect to "/users/sign_up"2803 stores subscription URL for later2804 with authenticated user2805 is expected to render template layouts/minimal2806 is expected to render template new2807 when there are groups eligible for the subscription2808 assigns the eligible groups for the subscription2809 and request specify which group to use2810 assign requested group2811 request does not specify namespace2812 falls back to users namespace2813 when there are no eligible groups for the subscription2814 assigns eligible groups as an empty array if CustomerDot returns empty payload2815 assigns eligible groups as an empty array if user is not owner of any groups2816 GET #buy_minutes2817 with authenticated user2818 when the add-on plan cannot be found2819 is expected to respond with numeric status code not_found2820 when there are groups eligible for the addon2821 is expected to render template layouts/minimal2822 is expected to render template buy_minutes2823 assigns the group for the addon2824 GET #buy_storage2825 with authenticated user2826 when the add-on plan cannot be found2827 is expected to respond with numeric status code not_found2828 when there are groups eligible for the addon2829 is expected to render template layouts/minimal2830 is expected to render template buy_storage2831 assigns the group for the addon2832 GET #payment_form2833 with unauthorized user2834 is expected to respond with numeric status code redirect2835 is expected to redirect to "/users/sign_in"2836 with authorized user2837 is expected to respond with numeric status code ok2838 returns the data attribute of the client response in JSON format2839 GET #payment_method2840 with unauthorized user2841 is expected to respond with numeric status code redirect2842 is expected to redirect to "/users/sign_in"2843 with authorized user2844 is expected to respond with numeric status code ok2845 returns the data attribute of the client response in JSON format2846 GET #validate_payment_method2847 with unauthorized user2848 is expected to respond with numeric status code unauthorized2849 with authorized user2850 is expected to respond with numeric status code ok2851 is expected to be successful2852 POST #create2853 with unauthorized user2854 is expected to respond with numeric status code unauthorized2855 with authorized user2856 when setting up for a company2857 updates the setup_for_company attribute of the current user2858 creates a group based on the company2859 when using a promo code2860 creates subscription using promo code2861 when not setting up for a company2862 does not update the setup_for_company attribute of the current user2863 creates a group based on the user2864 when an error occurs creating a group2865 returns the errors in json format2866 when invalid name is passed2867 returns the errors in json format2868 tracks errors2869 on successful creation of a subscription2870 is expected to respond with numeric status code ok2871 returns the group edit location in JSON format2872 on unsuccessful creation of a subscription2873 is expected to respond with numeric status code ok2874 returns the error message in JSON format2875 when selecting an existing group2876 when the selected group is eligible for a new subscription2877 does not create a group2878 returns the selected group location in JSON format2879 when having an explicit redirect2880 is expected to respond with numeric status code ok2881 returns the provided redirect path as location2882 tracks the creation of the subscriptions2883 purchasing an addon2884 tracks creation with add-on success message2885 when the selected group is ineligible for a new subscription2886 does not create a group2887 returns a 404 not found2888 when selected group is a sub group2889 is expected to respond with numeric status code not_found2890 when selecting a non existing group2891 is expected to respond with numeric status code not_found2892 when selecting a group without owner role2893 is expected to respond with numeric status code not_found2894API::GroupBoards2895 behaves like group and project boards2896 avoids N+1 queries2897 GET /groups/:id/boards2898 when unauthenticated2899 returns authentication error2900 when authenticated2901 returns the issue boards2902 GET /groups/:id/boards/:board_id2903 get a single board by id2904 PUT /groups/:id/boards/:board_id2905 updates the board name2906 updates the issue board booleans2907 GET /groups/:id/boards/:board_id/lists2908 returns issue board lists2909 returns 404 if board not found2910 GET /groups/:id/boards/:board_id/lists/:list_id2911 returns a list2912 returns 404 if list not found2913 POST /groups/:id/boards/lists2914 creates a new issue board list for labels2915 returns 400 when creating a new list if label_id is invalid2916 returns 403 for members with guest role2917 PUT /groups/:id/boards/:board_id/lists/:list_id to update only position2918 updates a list2919 returns 404 error if list id not found2920 returns 403 for members with guest role2921 DELETE /groups/:id/boards/lists/:list_id2922 rejects a non member from deleting a list2923 rejects a user with guest role from deleting a list2924 returns 404 error if list id not found2925 when the user is parent owner2926 deletes the list if an admin requests it2927 behaves like 412 response2928 for a modified resource2929 returns 412 with a JSON error2930 for an unmodified resource2931 returns 204 with an empty body2932 behaves like multiple and scoped issue boards2933 multiple issue boards2934 POST /groups/:id/boards2935 creates a board2936 PUT /groups/:id/boards/:board_id2937 updates a board2938 does not remove missing attributes from the board2939 allows removing optional attributes2940 DELETE /groups/:id/boards/:board_id2941 deletes a board2942 with the scoped_issue_board-feature available2943 returns the milestone when the `scoped_issue_board` feature is enabled2944 hides the milestone when the `scoped_issue_board` feature is disabled2945 POST /groups/:id/boards/:board_id/lists2946 behaves like milestone board list2947 when milestone_id is sent2948 returns 400 if milestone is not found2949 returns 400 if milestone list feature is not available2950 creates a milestone list if milestone is found2951 behaves like assignee board list2952 when assignee_id is sent2953 returns 400 if user is not found2954 returns 400 if assignee list feature is not available2955 creates an assignee list if user is found2956 behaves like iteration board list2957 when iteration_id is sent2958 returns 400 if iteration is not found2959 returns 400 if not licensed2960 creates an iteration list if iteration is found2961API::GroupProtectedBranches2962 # order random2963 DELETE /groups/:id/protected_branches/unprotect/:branch2964 unprotects a single branch2965 returns 404 if branch does not exist2966 when a policy restricts rule deletion2967 prevents deletion of the protected branch rule2968 when branch has a wildcard in its name2969 unprotects a wildcard branch2970 GET /groups/:id/protected_branches2971 when authenticated as a owner2972 when search param is not present2973 behaves like protected branches2974 returns the protected branches2975 when search param is present2976 behaves like protected branches2977 returns the protected branches2978 when authenticated as a guest2979 behaves like 403 response2980 returns 4032981 avoid N+1 sql queries2982 does not perform N+1 sql queries2983 POST /groups/:id/protected_branches2984 when authenticated as a owner2985 returns a 409 error if the same branch is protected twice2986 when protects by different params2987 allow_force_push: nil, push_access_level: nil, merge_access_level: nil2988 is expected to eq 402989 allow_force_push: nil, push_access_level: 30, merge_access_level: nil2990 is expected to eq 402991 allow_force_push: nil, push_access_level: nil, merge_access_level: 302992 is expected to eq 302993 allow_force_push: nil, push_access_level: 30, merge_access_level: 302994 is expected to eq 302995 allow_force_push: nil, push_access_level: 0, merge_access_level: nil2996 is expected to eq 402997 allow_force_push: nil, push_access_level: nil, merge_access_level: 02998 is expected to eq 02999 allow_force_push: nil, push_access_level: 0, merge_access_level: 03000 is expected to eq 03001 allow_force_push: true, push_access_level: nil, merge_access_level: nil3002 is expected to eq 403003 code_owner_approval_required3004 feature_available: false, param_value: false, result_value: false3005 is expected to eq false3006 feature_available: false, param_value: true, result_value: false3007 is expected to eq false3008 feature_available: true, param_value: false, result_value: false3009 is expected to eq false3010 feature_available: true, param_value: true, result_value: true3011 is expected to eq true3012 when branch has a wildcard in its name3013 protects multiple branches with a wildcard in the name3014 when a policy restricts rule creation3015 prevents creations of the protected branch rule3016 when protected branch is invalid3017 returns a 4223018 when authenticated as a guest3019 returns a 403 error if guest3020 PATCH /groups/:id/protected_branches/:name3021 when authenticated as a owner3022 updates a single branch3023 when returned protected branch is invalid3024 returns a 4223025 when authenticated as a guest3026 returns a 403 error3027 GET /groups/:id/protected_branches/:branch3028 when authenticated as a owner3029 behaves like protected branch3030 returns the protected branch3031 when protected branch does not exist3032 behaves like 404 response3033 returns 4043034 when protected branch contains a wildcard3035 behaves like protected branch3036 returns the protected branch3037 when protected branch does not exist3038 behaves like 404 response3039 returns 4043040 when protected branch contains a period3041 behaves like protected branch3042 returns the protected branch3043 when protected branch does not exist3044 behaves like 404 response3045 returns 4043046 when authenticated as a guest3047 behaves like 403 response3048 returns 4033049Groups::Epics::NotesController3050 GET index3051 responds with array of notes3052 with cross-reference system note that is not visible to the current user3053 does not return any note3054 POST create3055 returns status 302 for html3056 returns status 200 for json3057 when epic was promoted from issue3058 creates reply note for discussion3059 behaves like create notes request exceeding rate limit3060 allows user in allow-list to create notes, even if the case is different3061 when rate limiter enabled3062 logs request and declines it when endpoint called more than the threshold3063 when rate limiter is disabled3064 does not log request and does not block the request3065 PUT update3066 updates the note3067 DELETE destroy3068 user is the author of a note3069 returns status 2003070 deletes the note3071 user is not the author of the note3072 returns status 4043073 POST toggle_award_emoji3074 toggles the award emoji3075 removes the already awarded emoji3076API::GroupHooks3077 behaves like web-hook API endpoints3078 GET /groups/:id/hooks3079 authorized user3080 returns all hooks3081 when user is forbidden3082 prevents access to hooks3083 when user is unauthorized3084 prevents access to hooks3085 the hook has URL variables3086 returns the names of the url variables3087 GET /groups/:id/hooks/:hook_id3088 authorized user3089 returns a project hook3090 returns a 404 error if hook id is not available3091 the hook is disabled3092 has the correct alert status3093 the hook is backed-off3094 has the correct alert status3095 when user is forbidden3096 does not access an existing hook3097 when user is unauthorized3098 does not access an existing hook3099 POST /groups/:id/hooks3100WARNING: ignoring the provided expectation message argument (:push_events) since it is not a string or a proc.3101WARNING: ignoring the provided expectation message argument (:issues_events) since it is not a string or a proc.3102WARNING: ignoring the provided expectation message argument (:confidential_issues_events) since it is not a string or a proc.3103WARNING: ignoring the provided expectation message argument (:merge_requests_events) since it is not a string or a proc.3104WARNING: ignoring the provided expectation message argument (:tag_push_events) since it is not a string or a proc.3105WARNING: ignoring the provided expectation message argument (:note_events) since it is not a string or a proc.3106WARNING: ignoring the provided expectation message argument (:confidential_note_events) since it is not a string or a proc.3107WARNING: ignoring the provided expectation message argument (:job_events) since it is not a string or a proc.3108WARNING: ignoring the provided expectation message argument (:pipeline_events) since it is not a string or a proc.3109WARNING: ignoring the provided expectation message argument (:wiki_page_events) since it is not a string or a proc.3110WARNING: ignoring the provided expectation message argument (:deployment_events) since it is not a string or a proc.3111WARNING: ignoring the provided expectation message argument (:releases_events) since it is not a string or a proc.3112WARNING: ignoring the provided expectation message argument (:subgroup_events) since it is not a string or a proc.3113WARNING: ignoring the provided expectation message argument (:emoji_events) since it is not a string or a proc.3114 adds hook3115 adds the token without including it in the response3116 returns a 400 error if url not given3117 returns a 400 error if no parameters are provided3118WARNING: ignoring the provided expectation message argument (:push_events) since it is not a string or a proc.3119WARNING: ignoring the provided expectation message argument (:issues_events) since it is not a string or a proc.3120WARNING: ignoring the provided expectation message argument (:confidential_issues_events) since it is not a string or a proc.3121WARNING: ignoring the provided expectation message argument (:merge_requests_events) since it is not a string or a proc.3122WARNING: ignoring the provided expectation message argument (:tag_push_events) since it is not a string or a proc.3123WARNING: ignoring the provided expectation message argument (:note_events) since it is not a string or a proc.3124WARNING: ignoring the provided expectation message argument (:confidential_note_events) since it is not a string or a proc.3125WARNING: ignoring the provided expectation message argument (:job_events) since it is not a string or a proc.3126WARNING: ignoring the provided expectation message argument (:pipeline_events) since it is not a string or a proc.3127WARNING: ignoring the provided expectation message argument (:wiki_page_events) since it is not a string or a proc.3128WARNING: ignoring the provided expectation message argument (:deployment_events) since it is not a string or a proc.3129WARNING: ignoring the provided expectation message argument (:releases_events) since it is not a string or a proc.3130WARNING: ignoring the provided expectation message argument (:subgroup_events) since it is not a string or a proc.3131WARNING: ignoring the provided expectation message argument (:emoji_events) since it is not a string or a proc.3132 sets default values for events3133 returns a 422 error if token not valid3134 returns a 422 error if url not valid3135 PUT /groups/:id/hooks/:hook_id3136 updates an existing hook3137 updates the URL variables3138 adds the token without including it in the response3139 returns 404 error if hook id not found3140 returns 400 error if no parameters are provided3141 returns a 422 error if url is not valid3142 returns a 422 error if token is not valid3143 DELETE /projects/:id/hooks/:hook_id3144 deletes hook from project3145 returns a 404 error when deleting non existent hook3146 returns a 404 error if hook id not given3147 returns forbidden if a user attempts to delete hooks they do not own3148 behaves like 412 response3149 for a modified resource3150 returns 412 with a JSON error3151 for an unmodified resource3152 returns 204 with an empty body3153 PUT /groups/:id/hooks/:hook_id/url_variables/:key3154 sets the variable3155 overwrites existing values3156 returns a 404 error when editing non existent hook3157 returns a 422 error when the key is illegal3158 returns a 422 error when the value is illegal3159 DELETE /groups/:id/hooks/:hook_id/url_variables/:key3160 unsets the variable3161 returns 404 for keys that do not exist3162 returns a 404 error when deleting a variable from a non existent hook3163 behaves like web-hook API endpoints with branch-filter3164 POST /projects/:id/hooks3165 returns a 422 error if branch filter is not valid3166API::CodeSuggestions3167 # order random3168 POST /code_suggestions/tokens3169 when user is not logged in3170 returns unauthorized response3171 records Snowplow events3172 when user is logged in3173 when API feature flag is disabled3174 returns not found response3175 records Snowplow events3176 with no access to code suggestions3177 returns unauthorized response3178 records Snowplow events3179 with access to code suggestions3180 when on .org or .com3181 returns successful response3182 records Snowplow events3183 sets the access token realm to SaaS3184 when request was proxied from self managed instance3185 returns successful response3186 records Snowplow events3187 sets the access token realm to self-managed3188 with instance admin feature flag is disabled3189 returns unauthorized response3190 records Snowplow events3191 when not on .org and .com3192 proxy request to saas3193 when request was proxied from self managed instance3194 returns 500 response3195 records Snowplow events3196 POST /code_suggestions/completions3197 when the instance is Gitlab.org_or_com3198 when project does not have active code suggestions purchase3199 returns not found response3200 records Snowplow events3201 when project has active code suggestions purchase3202 behaves like code completions endpoint3203 when user is not logged in3204 returns unauthorized response3205 records Snowplow events3206 when user does not have access to code suggestions3207 returns unauthorized response3208 records Snowplow events3209 when user is logged in3210 delegates downstream service call to Workhorse with correct auth token3211 when overriding service base URL3212 sends requests to this URL instead3213 with telemetry headers3214 proxies appropriate headers to code suggestions service3215 when code_suggestions_completion_api feature flag is disabled3216 returns unauthorized response3217 records Snowplow events3218 when purchase_code_suggestions feature flag is disabled3219 behaves like code completions endpoint3220 when user is not logged in3221 returns unauthorized response3222 records Snowplow events3223 when user does not have access to code suggestions3224 returns unauthorized response3225 records Snowplow events3226 when user is logged in3227 delegates downstream service call to Workhorse with correct auth token3228 when overriding service base URL3229 sends requests to this URL instead3230 with telemetry headers3231 proxies appropriate headers to code suggestions service3232 when the instance is Gitlab self-managed3233 behaves like code completions endpoint3234 when user is not logged in3235 returns unauthorized response3236 records Snowplow events3237 when user does not have access to code suggestions3238 returns unauthorized response3239 records Snowplow events3240 when user is logged in3241 delegates downstream service call to Workhorse with correct auth token3242 when overriding service base URL3243 sends requests to this URL instead3244 with telemetry headers3245 proxies appropriate headers to code suggestions service3246 when there is no active code suggestions token3247 returns unauthorized response3248 records Snowplow events3249 when feature flag is disabled3250 returns unauthorized response3251 records Snowplow events3252Groups::DependencyProxyForContainersController3253 GET #manifest3254 behaves like when sso is enabled for the group3255 group owner3256 behaves like a successful manifest pull3257 sends a file3258 returns Content-Disposition: attachment3259 group reporter3260 when git check is enforced3261 returns not found3262 with an active session3263 behaves like a successful manifest pull3264 sends a file3265 returns Content-Disposition: attachment3266 when git check is not enforced3267 behaves like a successful manifest pull3268 sends a file3269 returns Content-Disposition: attachment3270 behaves like with ip restriction3271 in group without restriction3272 does not log anything3273 behaves like a successful manifest pull3274 sends a file3275 returns Content-Disposition: attachment3276 in group with restriction3277 with address within the range3278 behaves like a successful manifest pull3279 sends a file3280 returns Content-Disposition: attachment3281 with address outside the range3282 behaves like logging the violation3283 logs the group and user3284 behaves like returning response status3285 returns not_found3286 when user is a deploy token3287 behaves like logging the violation3288 logs the group and user3289 behaves like returning response status3290 returns not_found3291 GET #blob3292 behaves like when sso is enabled for the group3293 group owner3294 behaves like a successful blob pull3295 sends a file3296 returns Content-Disposition: attachment3297 group reporter3298 when git check is enforced3299 returns not found3300 with an active session3301 behaves like a successful blob pull3302 sends a file3303 returns Content-Disposition: attachment3304 when git check is not enforced3305 behaves like a successful blob pull3306 sends a file3307 returns Content-Disposition: attachment3308 behaves like with ip restriction3309 in group without restriction3310 does not log anything3311 behaves like a successful blob pull3312 sends a file3313 returns Content-Disposition: attachment3314 in group with restriction3315 with address within the range3316 behaves like a successful blob pull3317 sends a file3318 returns Content-Disposition: attachment3319 with address outside the range3320 behaves like logging the violation3321 logs the group and user3322 behaves like returning response status3323 returns not_found3324 when user is a deploy token3325 behaves like logging the violation3326 logs the group and user3327 behaves like returning response status3328 returns not_found3329RegistrationsController3330 #create3331 when require admin approval setting is enabled3332 when user signup cap is set3333 behaves like blocked user by default3334 registers the user in blocked_pending_approval state3335 does not log in the user after sign up3336 shows flash message after signing up3337 when user signup cap is not set3338 behaves like blocked user by default3339 registers the user in blocked_pending_approval state3340 does not log in the user after sign up3341 shows flash message after signing up3342 when require admin approval setting is disabled3343 behaves like user cap handling without admin approval3344 when user signup cap is set3345 when user signup cap would be exceeded by new user signup3346 behaves like blocked user by default3347 registers the user in blocked_pending_approval state3348 does not log in the user after sign up3349 shows flash message after signing up3350 when user signup cap would not be exceeded by new user signup3351 behaves like active user by default3352 registers the user in active state3353 does not show any flash message after signing up3354 when user signup cap is not set3355 behaves like active user by default3356 registers the user in active state3357 does not show any flash message after signing up3358 when require admin approval setting is nil3359 behaves like user cap handling without admin approval3360 when user signup cap is set3361 when user signup cap would be exceeded by new user signup3362 behaves like blocked user by default3363 registers the user in blocked_pending_approval state3364 does not log in the user after sign up3365 shows flash message after signing up3366 when user signup cap would not be exceeded by new user signup3367 behaves like active user by default3368 registers the user in active state3369 does not show any flash message after signing up3370 when user signup cap is not set3371 behaves like active user by default3372 registers the user in active state3373 does not show any flash message after signing up3374 audit events3375 when licensed3376 when user registers for the instance3377 logs add email event and instance access request event3378 logs the audit event info3379 with invalid user3380 does not log registration failure3381 #destroy3382 on GitLab.com when the password is automatically set3383 redirects without deleting the account3384 when license feature available3385 when allow_account_deletion is false3386 fails with message3387 when allow_account_deletion is true3388 succeeds3389 when license feature unavailable3390 when allow_account_deletion is false3391 succeeds3392 when allow_account_deletion is true3393 succeeds3394Projects::Settings::AccessTokensController3395 POST /:namespace/:project/-/settings/access_tokens3396 when has a bronze subscription3397 behaves like feature unavailable3398 with a free plan3399 is expected to respond with numeric status code not_found3400 when user is not a maintainer with a paid group plan3401 is expected to respond with numeric status code not_found3402 behaves like POST resource access tokens available3403 renders JSON with a token3404 creates resource access token3405 creates project bot user3406 is expected to change `User.count` by 13407 is expected to change `PersonalAccessToken.count` by 13408 when unsuccessful3409 does not create the token3410 does not add the project bot as a member3411 does not create the project bot user3412 renders JSON with an error3413 when has an active trial subscription3414 can create first token successfully3415 cannot create second token3416 when there is token under different project of same group3417 still cannot create new token3418 PUT /:namespace/:project/-/settings/access_tokens/:id/revoke3419 behaves like feature unavailable3420 with a free plan3421 is expected to respond with numeric status code not_found3422 when user is not a maintainer with a paid group plan3423 is expected to respond with numeric status code not_found3424 behaves like PUT resource access tokens available3425 calls delete user worker3426 removes membership of bot user3427 creates GhostUserMigration records to handle migration in a worker3428 when unsuccessful3429 shows a failure alert3430 when has trial subscription3431 when the trial subscription is active3432 can revoke token successfully3433 when the trial subscription is expired3434 still can revoke token successfully3435Create an external audit event destination3436 when feature is licensed3437 when current user is a group owner3438 resolves group by full path3439 creates the destination3440 when overriding default name3441 creates the destination3442 behaves like creates an audit event3443 audits the creation3444 when overriding verification token3445 creates the destination3446 behaves like creates an audit event3447 audits the creation3448 when verification token is invalid3449 when verification token is too short3450 returns correct errors3451 behaves like a mutation that does not create a destination3452 does not destroy the destination3453 does not audit the creation3454 when verification token is too long3455 returns correct errors3456 behaves like a mutation that does not create a destination3457 does not destroy the destination3458 does not audit the creation3459 when destination is invalid3460 returns correct errors3461 behaves like a mutation that does not create a destination3462 does not destroy the destination3463 does not audit the creation3464 when group is a subgroup3465 behaves like a mutation that does not create a destination3466 does not destroy the destination3467 does not audit the creation3468 when current user is a group maintainer3469 behaves like a mutation that does not create a destination3470 does not destroy the destination3471 does not audit the creation3472 when current user is a group developer3473 behaves like a mutation that does not create a destination3474 does not destroy the destination3475 does not audit the creation3476 when current user is a group guest3477 behaves like a mutation that does not create a destination3478 does not destroy the destination3479 does not audit the creation3480 when feature is unlicensed3481 does not create the destination3482 behaves like a mutation on an unauthorized resource3483 behaves like a mutation that returns top-level errors3484 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"3485Query.instanceSecurityDashboard.projects3486 with logged in user3487 requesting projects in the dashboard3488 behaves like a working graphql query that returns data3489 contains data3490 finds only projects that were added to instance security dashboard3491 behaves like a working graphql query3492 returns a successful response3493 when loading vulnerabilityGrades alongside with Vulnerability.userNotesCount3494 behaves like a working graphql query that returns data3495 contains data3496 finds vulnerability grades for only projects that were added to instance security dashboard3497 behaves like a working graphql query3498 returns a successful response3499 requesting clusterAgents in the dashboard3500 behaves like a working graphql query that returns data3501 contains data3502 finds only projects that were added to instance security dashboard3503 behaves like a working graphql query3504 returns a successful response3505 with no user3506 behaves like a working graphql query that returns no data3507 contains no data3508 behaves like a working graphql query3509 returns a successful response3510Projects::Analytics::DashboardsController3511 # order random3512 GET /:namespace/:project/-/analytics/dashboards3513 with the feature flag disabled3514 behaves like returns not found3515 returns 404 response3516 does not increment counter3517 does not track unique user dashboard view3518 with the feature flag enabled3519 without the licensed feature3520 behaves like returns not found3521 returns 404 response3522 does not increment counter3523 does not track unique user dashboard view3524 with the licensed feature3525 does not count views for the dashboard listing3526 access_level: nil, example_to_run: "returns not found"3527 behaves like returns not found3528 returns 404 response3529 does not increment counter3530 does not track unique user dashboard view3531 access_level: :reporter, example_to_run: "returns not found"3532 behaves like returns not found3533 returns 404 response3534 does not increment counter3535 does not track unique user dashboard view3536 access_level: :developer, example_to_run: "returns success"3537 behaves like returns success3538 returns 200 response3539 increments counter3540 tracks unique user dashboard view3541 access_level: :maintainer, example_to_run: "returns success"3542 behaves like returns success3543 returns 200 response3544 increments counter3545 tracks unique user dashboard view3546Groups::HooksController3547 with group_webhooks enabled3548 GET #index3549 is successful3550 POST #create3551 sets all parameters3552 alerts the user if the new hook is invalid3553 GET #edit3554 assigns hook_logs3555 handles when logs are present3556 can paginate logs3557 PATCH #update3558 valid params3559 is successful3560 invalid params3561 renders "edit" template3562 POST #test3563 when testing a job hook3564 where there are no jobs3565 reports the error3566 when group does not have a project3567 redirects back3568 when group has a project3569 when "trigger" params is empty3570 defaults to "push_events"3571 when "trigger" params is set3572 uses it3573 DELETE #destroy3574 behaves like Web hook destroyer3575 displays a message about synchronous delete3576 displays a message about async delete3577 displays an error if deletion failed3578 When user is not logged in3579 renders a 4043580 with group_webhooks disabled3581 GET #index3582 renders a 4043583Admin::Geo::ProjectsController3584 #index3585 behaves like license required3586 without a valid license3587 redirects to 403 page3588 with a valid license3589 displays a different read-only message based on skip_readonly_message3590 without sync_status specified3591 renders all template when no extra get params is specified3592 with sync_status=pending3593 renders pending template3594 with sync_status=failed3595 renders failed template3596 with sync_status=synced3597 renders synced template3598 #destroy3599 behaves like license required3600 without a valid license3601 redirects to 403 page3602 with a valid license3603 with an orphaned registry3604 removes the registry3605 with a regular registry3606 removes the registry3607 #reverify3608 behaves like license required3609 without a valid license3610 redirects to 403 page3611 with a valid license3612 flags registry for reverify3613 #resync3614 behaves like license required3615 without a valid license3616 redirects to 403 page3617 with a valid license3618 flags registry for resync3619 #reverify_all3620 behaves like license required3621 without a valid license3622 redirects to 403 page3623 with a valid license3624 schedules a batch job3625 redirects back and display confirmation3626 #resync_all3627 behaves like license required3628 without a valid license3629 redirects to 403 page3630 with a valid license3631 schedules a batch job3632 redirects back and display confirmation3633Projects::Security::DastSiteProfilesController3634 GET #new3635 behaves like a GET request3636 when the "Security and Compliance" feature is disabled3637 is expected to respond with numeric status code not_found3638 feature available3639 user authorized3640 can access page3641 user not authorized3642 sees a 404 error3643 feature not available3644 license doesnt't support the feature3645 sees a 404 error3646 GET #edit3647 behaves like a GET request3648 when the "Security and Compliance" feature is disabled3649 is expected to respond with numeric status code not_found3650 feature available3651 user authorized3652 can access page3653 user not authorized3654 sees a 404 error3655 feature not available3656 license doesnt't support the feature3657 sees a 404 error3658 feature available and user authorized3659 record exists3660 includes a serialized dast_profile in the response body3661 record does not exist3662 sees a 404 error3663Mutations::Security::Finding::RevertToDetected3664 # order random3665 #resolve3666 when the user has access to vulnerability management3667 when user does not have access to the project3668 behaves like a mutation that returns a top-level access error3669 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"3670 when no uuid is provided3671 raises an error3672 when the user has access to the project3673 when there is a dismissal feedback3674 when there is no vulnerability3675 behaves like properly sets the security finding state3676 sets the security finding state to detected3677 when there is a vulnerability3678 behaves like properly sets the security finding state3679 sets the security finding state to detected3680 behaves like properly sets the vulnerability state3681 sets the vulnerability state to detected3682 when the dismissal fails3683 raises an error3684 when the dismissal fails3685 raises an error3686 when there is no dismissal feedback3687 when there is no vulnerability3688 behaves like properly sets the security finding state3689 sets the security finding state to detected3690 when there is a vulnerability3691 behaves like properly sets the security finding state3692 sets the security finding state to detected3693 behaves like properly sets the vulnerability state3694 sets the vulnerability state to detected3695 when the security dashboard is not available to the user3696 behaves like a mutation that returns a top-level access error3697 is expected to contain exactly "The resource that you are attempting to access does not exist or you don't have permission to perform this action"3698Query.vulnerabilities.sort3699 sort by severity3700 sort by SEVERITY_ASC3701 behaves like sorted paginated query3702 behaves like requires variables3703 shared example requires variables to be set3705 when sorting3706 sorts correctly3707 when paginating3708 paginates correctly3709 sort by SEVERITY_DESC3710 behaves like sorted paginated query3711 behaves like requires variables3712 shared example requires variables to be set3714 when sorting3715 sorts correctly3716 when paginating3717 paginates correctly3718 sort by severity3719 sort by SEVERITY_ASC3720 behaves like sorted paginated query3721 behaves like requires variables3722 shared example requires variables to be set3724 when sorting3725 sorts correctly3726 when paginating3727 paginates correctly3728 sort by SEVERITY_DESC3729 behaves like sorted paginated query3730 behaves like requires variables3731 shared example requires variables to be set3733 when sorting3734 sorts correctly3735 when paginating3736 paginates correctly3737get list of boards3738 for a project3739 behaves like a board epics query3740 returns open epics referenced by issues in the board3741 when board is scoped to a wildcard milestone3742 returns milestone global ID in the correct format3743 for a group3744 behaves like group and project boards query3745 behaves like a working graphql query3746 returns a successful response3747 when the user does not have access to the board parent3748 returns nil3749 when no permission to read board3750 does not return any boards3751 when user can read the board parent3752 does not create a default board3753 sorting and pagination3754 when using default sorting3755 when ascending3756 behaves like sorted paginated query3757 behaves like requires variables3758 shared example requires variables to be set3760 when sorting3761 sorts correctly3762 when paginating3763 paginates correctly3764 when querying for a single board3765 finds the correct board3766 behaves like a working graphql query3767 returns a successful response3768 behaves like a board epics query3769 returns open epics referenced by issues in the board3770 when board is scoped to a wildcard milestone3771 returns milestone global ID in the correct format3772Projects::RequirementsManagement::RequirementsController3773 GET #index3774 private project3775 with authorized user3776 when feature is available3777 renders the index template3778 when feature is not available3779 behaves like response with 404 status3780 returns 4043781 with unauthorized user3782 when feature is available3783 behaves like response with 404 status3784 returns 4043785 with anonymous user3786 returns 3023787 public project3788 with requirements disabled3789 behaves like response with 404 status3790 returns 4043791 with requirements visible to project members3792 with authorized user3793 renders the index template3794 with unauthorized user3795 behaves like response with 404 status3796 returns 4043797 with requirements visible to everyone3798 with anonymous user3799 renders the index template3800 GET import_csv3801 with authorized user3802 when feature is available3803 when the upload is processed successfully3804 renders the correct message3805 when the upload returns an error3806 renders the error message3807 when feature is not available3808 behaves like response with 404 status3809 returns 4043810API::Ci::Jobs3811 GET /projects/:id/jobs/:job_id/artifacts3812 when using job_token to authenticate3813 when cross-project pipelines are enabled3814 user is developer3815 returns specific job artifacts3816 when anonymous user is accessing private artifacts3817 hides artifacts and rejects request3818 when cross-project pipeline are disabled3819 disallows access to the artifacts3820 when the job is not running3821 disallows access to the artifacts3822 GET /projects/:id/artifacts/:ref_name/download?job=name3823 when using job_token to authenticate3824 when cross-project pipelines are enabled3825 when user is developer3826 when artifacts are stored locally3827 returns specific job artifacts3828 when artifacts are stored remotely3829 returns location redirect3830 when user is admin, but not member3831 does not allow to see that artfiact is present3832Subscriptions::GroupsController3833 # order random3834 PUT #update3835 with an unauthenticated user3836 is expected to respond with numeric status code redirect3837 is expected to redirect to "/users/sign_in"3838 does not update the name3839 does not update the path3840 for visibility change3841 does not update visibility3842 with an authenticated user who is not a group owner3843 is expected to respond with numeric status code not_found3844 does not update the name3845 does not update the path3846 for visibility change3847 does not update visibility3848 with an authenticated user3849 is expected to respond with numeric status code redirect3850 is expected to redirect to "/new-path"3851 updates the name3852 updates the path3853 updates the visibility_level3854 sets flash notice3855 with new_user param3856 sets flash notice3857 when the group cannot be saved3858 does not update the name3859 does not update the path3860 is expected to respond with numeric status code ok3861 is expected to render template edit3862 GET #edit3863 with an unauthenticated user3864 is expected to respond with numeric status code redirect3865 is expected to redirect to "/users/sign_in"3866 with an authenticated user who is not an owner3867 is expected to respond with numeric status code not_found3868 with an authenticated user3869 is expected to respond with numeric status code ok3870CiMinutesUsageMailer3871 #notify3872 when it is a group3873 behaves like mail format3874 is expected to have subject of "Action required: There are no remaining Pipeline minutes for group359"3875 is expected to be bcc'd to ["bob@example.com", "john@example.com"]3876 is expected to have body including "/group361"3877 is expected to have body including "has run out of Shared Runner Pipeline minutes"3878 is expected to have body including "http://localhost/-/subscriptions/buy_minutes?selected_group=2688"3879 when it is a namespace3880 behaves like mail format3881 is expected to have subject of "Action required: There are no remaining Pipeline minutes for Sidney Jones1723"3882 is expected to be bcc'd to ["bob@example.com", "john@example.com"]3883 is expected to have body including "/namespace491"3884 is expected to have body including "has run out of Shared Runner Pipeline minutes"3885 is expected to have body including "http://localhost/-/subscriptions/buy_minutes?selected_group=2693"3886 #notify_limit3887 when it is a group3888 behaves like mail format3889 is expected to have subject of "Action required: Less than 30% of Pipeline minutes remain for group364"3890 is expected to be bcc'd to ["bob@example.com", "john@example.com"]3891 is expected to have body including "/group366"3892 is expected to have body including "has 30% or less Shared Runner Pipeline minutes"3893 is expected to have body including "http://localhost/-/subscriptions/buy_minutes?selected_group=2698"3894 when it is a namespace3895 behaves like mail format3896 is expected to have subject of "Action required: Less than 30% of Pipeline minutes remain for Sidney Jones1728"3897 is expected to be bcc'd to ["bob@example.com", "john@example.com"]3898 is expected to have body including "/namespace496"3899 is expected to have body including "has 30% or less Shared Runner Pipeline minutes"3900 is expected to have body including "http://localhost/-/subscriptions/buy_minutes?selected_group=2703"3901[EE] Update of user activity3902 behaves like updating of user activity3903 without an authenticated user3904 does not set the last activity cookie3905 with an authenticated user3906 with a POST request3907 does not set the last activity cookie3908 on GET to /group/project/-/integrations/jira/issues3909 updates the last activity date3910 when calling it twice3911 updates last_activity_on just once3912 when last_activity_on is nil3913 updates the last activity date3914 when last_activity_on is stale3915 updates the last activity date3916 when last_activity_on is up to date3917 does not try to update it3918API::Dependencies3919 GET /projects/:id/dependencies3920 behaves like a gitlab tracking event3921 creates a gitlab tracking event view_dependencies3922 with an authorized user with proper permissions3923 when a pipeline does not exist3924 returns an empty array response3925 when a pipeline exists3926 returns paginated dependencies3927 returns vulnerabilities info3928 without cyclonedx report3929 does not include license information to response3930 with cyclonedx report3931 when querying uncompressed package metadata3932 include license information to response3933 when querying compressed package metadata3934 include license information to response3935 with nil package_manager3936 returns no dependencies3937 with filter options3938 returns yarn dependencies3939 with wrong key3940 returns error message3941 with pagination params3942 returns paginated dependencies3943 without permissions to see vulnerabilities3944 returns empty vulnerabilities3945 without permissions to see licenses3946 returns empty licenses3947 with authorized user without read permissions3948 responds with 403 Forbidden3949 with no project access3950 responds with 404 Not Found3951Destroy an external audit event destination3952 when feature is licensed3953 when current user is a group owner but destination belongs to another group3954 behaves like a mutation on an unauthorized resource3955 behaves like a mutation that returns top-level errors3956 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"3957 behaves like a mutation that does not destroy a destination3958 does not destroy the destination3959 does not audit the destruction3960 when current user is a group owner of a different group3961 behaves like a mutation on an unauthorized resource3962 behaves like a mutation that returns top-level errors3963 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"3964 behaves like a mutation that does not destroy a destination3965 does not destroy the destination3966 does not audit the destruction3967 when current user is a group owner3968 destroys the destination3969 audits the destruction3970 when current user is a group maintainer3971 behaves like a mutation that does not destroy a destination3972 does not destroy the destination3973 does not audit the destruction3974 when current user is a group developer3975 behaves like a mutation that does not destroy a destination3976 does not destroy the destination3977 does not audit the destruction3978 when current user is a group guest3979 behaves like a mutation that does not destroy a destination3980 does not destroy the destination3981 does not audit the destruction3982 when feature is unlicensed3983 behaves like a mutation on an unauthorized resource3984 behaves like a mutation that returns top-level errors3985 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"3986 behaves like a mutation that does not destroy a destination3987 does not destroy the destination3988 does not audit the destruction3989API::Analytics::GroupActivityAnalytics3990 GET /group_activity/issues_count3991 behaves like GET group_activity3992 when feature is enabled for a group3993 is successful3994 is returns a count3995 when feature is not available in plan3996 is returns `forbidden`3997 when `group_path` is not specified3998 returns `bad_request`3999 when name is made of only digits4000 is successful4001 is returns a count4002 when user does not have access to a group4003 is returns `not_found`4004 GET /group_activity/merge_requests_count4005 behaves like GET group_activity4006 when feature is enabled for a group4007 is successful4008 is returns a count4009 when feature is not available in plan4010 is returns `forbidden`4011 when `group_path` is not specified4012 returns `bad_request`4013 when name is made of only digits4014 is successful4015 is returns a count4016 when user does not have access to a group4017 is returns `not_found`4018 GET /group_activity/new_members_count4019 behaves like GET group_activity4020 when feature is enabled for a group4021 is successful4022 is returns a count4023 when feature is not available in plan4024 is returns `forbidden`4025 when `group_path` is not specified4026 returns `bad_request`4027 when name is made of only digits4028 is successful4029 is returns a count4030 when user does not have access to a group4031 is returns `not_found`4032Creating a Merge Request from a Security::Finding4033 # order random4034 when the user does not have permission4035 does not create a merge request4036 behaves like a mutation that returns a top-level access error4037 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"4038 when the user has permission4039 with valid parameters4040 returns a successful response4041 creates a new merge request4042 when security_dashboard is disabled4043 behaves like a mutation that returns top-level errors4044 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"4045Mutations::Boards::Create4046 behaves like boards create mutation4047 when the user does not have permission4048 does not create the board4049 behaves like a mutation that returns a top-level access error4050 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"4051 when the user has permission4052 when the parent (project_path or group_path) param is given4053 when everything is ok4054 creates the board4055 returns the created board4056 when hide_backlog_list parameter is true4057 returns the board with correct hide_backlog_list field4058 when hide_closed_list parameter is true4059 returns the board with correct hide_closed_list field4060 when the Boards::CreateService returns an error response4061 does not create a board4062 returns an error4063 when neither project_path nor group_path param is given4064 does not create the board4065 behaves like a mutation that returns top-level errors4066 is expected to contain exactly "Exactly one of group_path or project_path arguments is required"4067 when the user has permission to create a board4068 sets cadence_id on creation4069Groups::IterationsController4070 index4071 iteration_license_available: false, role: :developer4072 behaves like returning response status4073 returns not_found4074 iteration_license_available: true, role: :none4075 behaves like returning response status4076 returns not_found4077 iteration_license_available: true, role: :guest4078 redirects to the group iteration cadence index path4079 iteration_license_available: true, role: :developer4080 redirects to the group iteration cadence index path4081 show4082 iteration_license_available: false, role: :developer, requested_iteration: lazy { iteration }4083 behaves like returning response status4084 returns not_found4085 iteration_license_available: true, role: :none, requested_iteration: lazy { iteration }4086 behaves like returning response status4087 returns not_found4088 iteration_license_available: true, role: :guest, requested_iteration: lazy { other_iteration }4089 behaves like returning response status4090 returns not_found4091 when current user can view the requested iteration4092 iteration_license_available: true, role: :guest4093 redirects to the corresponding iteration cadence path4094 iteration_license_available: true, role: :developer4095 redirects to the corresponding iteration cadence path4096 new4097 iteration_license_available: false, role: :developer4098 behaves like returning response status4099 returns not_found4100 iteration_license_available: true, role: :none4101 behaves like returning response status4102 returns not_found4103 iteration_license_available: true, role: :guest4104 behaves like returning response status4105 returns not_found4106 when role is developer4107 redirects to the group iteration cadence index path4108 edit4109 iteration_license_available: false, role: :developer, requested_iteration: lazy { iteration }4110 behaves like returning response status4111 returns not_found4112 iteration_license_available: true, role: :none, requested_iteration: lazy { iteration }4113 behaves like returning response status4114 returns not_found4115 iteration_license_available: true, role: :guest, requested_iteration: lazy { iteration }4116 behaves like returning response status4117 returns not_found4118 iteration_license_available: true, role: :developer, requested_iteration: lazy { other_iteration }4119 behaves like returning response status4120 returns not_found4121 when role is developer and can edit the requested iteration4122 redirects to the corresponding iteration cadence path4123API::Analytics::CodeReviewAnalytics4124 GET code_review4125 is successful4126 with merge requests present4127 returns list of open MRs with pagination headers4128 with label & milestone filters4129 applies filter4130 with negation filters4131 applies filter4132 with any label filter present4133 applies filter4134 when user has no authorization4135 is not authorized4136 when feature is not available in plan4137 is not_authorized4138 when project_id is not specified4139 is not found4140getting Alert Management HTTP Integrations4141 with integrations4142 without project permissions4143 is expected to be nil4144 behaves like a working graphql query4145 returns a successful response4146 with developer permissions4147 is expected to eq []4148 behaves like a working graphql query4149 returns a successful response4150 with maintainer permissions4151 when no extra params given4152 is expected to eq 24153 returns the correct properties of the integrations4154 behaves like a working graphql query4155 returns a successful response4156 when HTTP Integration ID is given4157 returns the correct properties of the integration4158 behaves like a working graphql query4159 returns a successful response4160 behaves like GraphQL query with several integrations requested4161 when several HTTP integrations requested4162 returns the correct properties of the integrations4163 batches queries4164API::Commits4165 POST /projects/:id/repository/commits4166 create4167 a new file that does not match a codeowners entry4168 creates the commit4169 a new file that matches a codeowner entry4170 when codeowners are required4171 behaves like handling the codeowners interaction4172 does not create a new validator4173 delete4174 a deleted file that does not match a codeowner entry4175 creates the commit4176 a deleted file that matches a codeowner entry4177 behaves like handling the codeowners interaction4178 does not create a new validator4179 move4180 a deleted file that does not match a codeowner entry4181 creates the commit4182 a moved file that matches a codeowner entry4183 behaves like handling the codeowners interaction4184 does not create a new validator4185 POST :id/repository/commits/:sha/cherry_pick4186 no file in the cherry-picked commit matches a codeowner entry4187 cherry-picks the ref commit4188 a file in the cherry-picked commit matches a codeowner entry4189 when codeowners are required4190 behaves like handling the codeowners interaction4191 does not create a new validator4192 with an exceeded namespace storage limit4193 rejects the request4194 POST :id/repository/commits/:sha/revert4195 no file in the revert commit matches a codeowner entry4196 reverts the ref commit4197 a file in the revert commit matches a codeowner entry4198 when codeowners are required4199 behaves like handling the codeowners interaction4200 does not create a new validator4201 with an exceeded namespace storage limit4202 rejects the request4203Emails::AdminNotification4204 user_auto_banned_email4205 is sent to the alerted user4206 has the correct subject4207 includes the reason4208 includes the scope of the ban4209 includes a link to unban the user4210 includes a link to change the settings4211 includes the email reason4212 behaves like an email sent from GitLab4213 has the characteristics of an email sent from GitLab4214 behaves like it should not have Gmail Actions links4215 is expected not to have body including "ViewAction"4216 behaves like a user cannot unsubscribe through footer link4217 does not have a List-Unsubscribe header or a body link4218 behaves like appearance header and footer enabled4219 contains header and footer4220 behaves like appearance header and footer not enabled4221 does not contain header and footer4222 when threshold is 1 and interval is 1 minute4223 uses singular form4224 when interval is less than a minute4225 uses the correct unit4226 when auto-ban is disabled4227 does not include the scope of the ban4228 does not include a link to unban the user4229 when scoped to a group4230 includes the scope of the ban4231 includes a link to unban the user4232 includes a link to change the settings4233 when alerted user does not exist anymore4234 behaves like no email is sent4235 does not send an email4236getting iterations4237 query for iterations by timeframe4238 without start date4239 returns error4240 without end date4241 returns error4242 with start and end date4243 does not have errors4244 query for iterations by cadence4245 with multiple cadences4246 returns iterations4247 searching by cadence title or iteration title and sorting by cadence and due date ASC4248 search: "two", ordered_expected_iterations: lazy { [past_iteration1, past_iteration2, upcoming_group_iteration] }4249 correctly returns ordered items4250 search: "iteration", ordered_expected_iterations: lazy { [closed_group_iteration, current_group_iteration, past_iteration1, past_iteration2, upcoming_group_iteration] }4251 correctly returns ordered items4252 query for iterations by state4253 with invalid state4254 returns empty iterations list4255 with `current` state4256 returns `current` iteration4257 with `closed` state4258 returns `closed` iteration4259 when sorting by cadence and due date DESC4260 returns `closed` iteration sorted by due date DESC4261Updating a DAST Profile4262 behaves like an on-demand scan mutation when user cannot run an on-demand scan4263 when a user does not have access to the project4264 behaves like a mutation that returns a top-level access error4265 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"4266 when a user does not have access to run a dast scan on the project4267 behaves like a mutation that returns a top-level access error4268 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"4269 behaves like an on-demand scan mutation when user can run an on-demand scan4270 returns an empty errors array4271 returns a non-nil dastProfile4272 returns a non-nil pipelineUrl4273 updates the dast_profile4274 when on demand scan licensed feature is not available4275 behaves like a mutation that returns a top-level access error4276 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"4277 when updating fails4278 returns an error4279Creating an Epic4280 when the user does not have permission4281 does not create epic4282 behaves like a mutation that returns a top-level access error4283 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"4284 when the user has permission4285 when epics are disabled4286 behaves like a mutation that returns top-level errors4287 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"4288 when epics are enabled4289 creates the epic4290 when using a named color4291 sets the color correctly4292 the color is invalid4293 reports a coercion error4294 when there are ActiveRecord validation errors4295 does not create the epic4296 behaves like a mutation that returns errors in the response4297 is expected to contain exactly "Title can't be blank"4298 when the list of attributes is empty4299 does not create the epic4300 behaves like a mutation that returns top-level errors4301 is expected to contain exactly "The list of epic attributes is empty"4302API::GitlabSubscriptions::AddOnPurchases4303 # order random4304 POST /namespaces/:id/subscription_add_on_purchase/:add_on_name4305 with a non-admin user4306 returns :forbidden4307 with admin user4308 when the namespace cannot be found4309 behaves like not found error4310 returns :not_found4311 when the add-on cannot be found4312 behaves like not found error4313 returns :not_found4314 when the add-on purchase does not exist4315 creates a new add-on purchase4316 when the add-on purchase cannot be saved4317 returns an error4318 when the add-on purchase already exists4319 does not create a new add-on purchase and does not update the existing one4320 PUT /namespaces/:id/subscription_add_on_purchase/:add_on_name4321 with a non-admin user4322 returns :forbidden4323 with admin user4324 when the namespace cannot be found4325 behaves like not found error4326 returns :not_found4327 when the add-on cannot be found4328 behaves like not found error4329 returns :not_found4330 when the add-on purchase exists4331 updates the found add-on purchase4332 with only required params4333 updates the add-on purchase4334 when the add-on purchase cannot be saved4335 returns an error4336 when the add-on purchase does not exist4337 returns an error4338 GET /namespaces/:id/subscription_add_on_purchase/:add_on_name4339 with a non-admin user4340 returns :forbidden4341 with admin user4342 when the namespace cannot be found4343 behaves like not found error4344 returns :not_found4345 when the add-on cannot be found4346 behaves like not found error4347 returns :not_found4348 when the add-on purchase does not exist4349 behaves like not found error4350 returns :not_found4351 when the add-on purchase exists4352 returns the found add-on purchase4353Destroy an instance external audit event destination4354 # order random4355 when feature is unlicensed4356 behaves like a mutation that does not destroy a destination4357 does not destroy the destination4358 does not audit the destruction4359 behaves like a mutation that returns top-level errors4360 is expected to contain exactly "You do not have access to this mutation."4361 when feature is licensed4362 when current user is an instance admin4363 when feature flag ff_external_audit_events is enabled4364 destroys the destination4365 audits the destruction4366 when the destination id is invalid4367 does not destroy the destination4368 behaves like a mutation that returns top-level errors4369 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"4370 when feature flag ff_external_audit_events is disabled4371 behaves like a mutation that does not destroy a destination4372 does not destroy the destination4373 does not audit the destruction4374 behaves like a mutation that returns top-level errors4375 is expected to contain exactly "You do not have access to this mutation."4376 when current user is not instance admin4377 behaves like a mutation that does not destroy a destination4378 does not destroy the destination4379 does not audit the destruction4380 behaves like a mutation that returns top-level errors4381 is expected to contain exactly "You do not have access to this mutation."4382Groups::SamlGroupLinksController4383 #index4384 behaves like checks authorization4385 renders 404 when the user is not authorized4386 when the SAML provider is enabled4387 responds with 2004388 #create4389 behaves like checks authorization4390 renders 404 when the user is not authorized4391 when the SAML provider is enabled4392 with valid parameters4393 responds with success4394 creates the group link4395 with missing parameters4396 displays an error4397 #destroy4398 behaves like checks authorization4399 renders 404 when the user is not authorized4400 when the SAML provider is enabled4401 with an existent group link4402 responds with success4403 removes the group link4404 with a non-existent group link4405 renders 4044406getting push access levels for a branch protection4407 # order random4408 behaves like a GraphQL query for access levels4409 when request AccessLevel type objects as a guest user4410 is expected not to be present4411 behaves like a working graphql query4412 returns a successful response4413 when request AccessLevel type objects as a maintainer4414 query4415 avoids N+1 queries4416 response4417 returns all the access level attributes4418 behaves like a working graphql query4419 returns a successful response4420 when request AccessLevel type objects as a maintainer4421 query4422 avoids N+1 queries4423 response4424 returns all the access level attributes4425 behaves like a working graphql query4426 returns a successful response4427Namespace.projects4428 sorting and pagination4429 when sorting by STORAGE4430 behaves like sorted paginated query4431 behaves like requires variables4432 shared example requires variables to be set4434 when sorting4435 sorts correctly4436 when paginating4437 paginates correctly4438CredentialsInventoryMailer4439 #personal_access_token_revoked_email4440 is expected to have subject of "Your Personal Access Token was revoked"4441 is expected to have body including "The following Personal Access Token was revoked by an administrator, Revoker"4442 is expected to have body including "PAT 966"4443 is expected to have body including "Created on Aug 18, 2023"4444 is expected to have body including "Scopes: api, sudo"4445 is expected to be delivered to ["user1834@example.org"]4446 is expected to have body including "Last used 21 days ago"4447 #ssh_key_deleted_email4448 is expected to have subject of "Your SSH key was deleted"4449 is expected to have body including "The following SSH key was deleted by an administrator, Revoker"4450 is expected to be delivered to ["user1835@example.org"]4451 is expected to have body including "My title 695"4452 is expected to have body including "Created on Aug 18, 2023"4453 is expected to have body including "Last used 21 days ago"4454getting merge access levels for a branch protection4455 # order random4456 behaves like a GraphQL query for access levels4457 when request AccessLevel type objects as a guest user4458 is expected not to be present4459 behaves like a working graphql query4460 returns a successful response4461 when request AccessLevel type objects as a maintainer4462 query4463 avoids N+1 queries4464 response4465 returns all the access level attributes4466 behaves like a working graphql query4467 returns a successful response4468 when request AccessLevel type objects as a maintainer4469 query4470 avoids N+1 queries4471 response4472 returns all the access level attributes4473 behaves like a working graphql query4474 returns a successful response4475Getting code coverage summary in a project4476 behaves like a working graphql query4477 returns a successful response4478 when project has coverage4479 for the default branch4480 contains code coverage summary data4481 not for the default branch4482 returns nil4483 when project does not have coverage4484 returns nil4485Groups::RoadmapController4486 GET /groups/*namespace_id/-/roadmap4487 guest4488 renders without persisting layout4489 logged in4490 not specifying layout4491 renders without persisting layout4492 specifying invalid layout4493 renders without persisting layout4494 specifying layout4495 persists roadmap_layout if different than current layout4496Groups::LdapSettingsController4497 PUT #update4498 as an owner4499 admin allows owners to modify ldap settings4500 changes the value of unlock_membership_to_ldap4501 ldap_settings_unlock_groups_by_owners is disabled4502 does not change the value of the unlock_membership_to_ldap4503 admin disallow owners to modify ldap settings4504 does not change the value of unlock_membership_to_ldap4505 as a maintainer4506 does not change the value of unlock_membership_to_ldap4507API::MemberRoles4508 # order random4509 POST /groups/:id/member_roles4510 behaves like custom_roles license required4511 without a valid license4512 returns not found error4513 when custom_roles license is enabled4514 when unauthorized4515 returns unauthorized error4516 when a less privileged user4517 does not allow less privileged user to add member roles4518 when owner of the group4519 returns ok and add member role4520 when no name param is passed4521 populates a default name based on the access level passed in4522 when params are missing4523 returns a 400 error when params are missing4524 when params are invalid4525 returns a 400 error when params are invalid4526 when group is not a root group4527 returns not found error4528 when errors during creation of new record4529 returns a error message with 400 code4530 GET /groups/:id/member_roles4531 behaves like custom_roles license required4532 without a valid license4533 returns not found error4534 when custom_roles license is enabled4535 when unauthorized4536 returns forbidden error4537 when a less privileged user4538 returns forbidden error4539 when owner of the group4540 returns associated member roles4541 when group does not have any associated member_roles4542 returns empty array as response4543 DELETE /groups/:id/member_roles/:member_role_id4544 behaves like custom_roles license required4545 without a valid license4546 returns not found error4547 when custom_roles license is enabled4548 when unauthorized4549 returns unauthorized error4550 when a less privileged user4551 does not remove the member role4552 when owner of the group4553 removes member role4554 when invalid group name is passed4555 returns 404 if SAML group can not used for a SAML group link4556API::Ml::AiAssist4557 # order random4558 GET /ml/ai-assist user_is_allowed4559 when user not logged in4560 returns unauthorized response4561 records Snowplow events4562 when user is logged in4563 when API feature flag is disabled4564 returns not_found response4565 records Snowplow events4566 with no access to code suggestions4567 returns not_found response4568 records Snowplow events4569 with access to code suggestions4570 with third party ai features disabled4571 returns ok response4572 records Snowplow events4573 with third party ai features enabled4574 returns ok response4575 records Snowplow events4576Setting assignees of a merge request4577 adds the assignees to the merge request4578 with assignees already assigned4579 removes assignees not in the list4580 when passing append as true4581 does not remove users not in the list4582 performance4583 is scalable4584Query.workspaces(ids: [RemoteDevelopmentWorkspaceID!])4585 # order random4586 behaves like workspaces query in unlicensed environment and with feature flag off4587 when remote_development feature is unlicensed4588 returns an error4589 when remote_development_feature_flag feature flag is disabled4590 returns an error4591 when licensed and remote_development_feature_flag feature flag is enabled4592 is expected to contain exactly (a hash including {"name" => "workspace-4-1943-xbpsjc"})4593 behaves like a working graphql query4594 returns a successful response4595 when the user requests a workspace that they are not authorized for4596 does not contain fields for the other workspace4597getting Incident Management on-call shifts4598 # order random4599 removing participants4600 updates the rotation and removes participants4601 adding participants4602 updates the rotation and adds participants4603 updating name only4604 updates the rotation4605 errors4606 user cannot be found4607 raises an error4608Destroy an epic board list4609 behaves like board lists destroy request4610 when the user does not have permission4611 does not destroy the list4612 returns an error4613 when the user has permission4614 when given id is not for a list4615 returns an error4616 when list does not exist4617 returns a top level error4618 when everything is ok4619 destroys the list4620 returns an empty list4621 when the list is not destroyable4622 behaves like does not destroy the list and returns an error4623 does not destroy the list4624 returns an error and not nil list4625Query.addOnPurchase4626 # order random4627 when no active add_on_purchase is present4628 behaves like empty response4629 returns nil4630 behaves like success response4631 returns expected response4632 when seats are assigned4633 behaves like success response4634 returns expected response4635 when namespace does not exists4636 behaves like empty response4637 returns nil4638 when namespace is not root namespace4639 behaves like empty response4640 returns nil4641 when expires_on date is today4642 behaves like success response4643 returns expected response4644 when current_user is not owner of namespace4645 behaves like empty response4646 returns nil4647 when add_on_name does not exists4648 behaves like empty response4649 returns nil4650 when current_user is admin4651 behaves like success response4652 returns expected response4653 when add_on_name param is all caps4654 behaves like success response4655 returns expected response4656API::RemoteMirrors4657 # order random4658 POST /projects/:id/remote_mirrors4659 when creating a remote mirror4660 with only_protected_branches and mirror_branch_regex4661 returns 400 error4662 with mirror_branch_regex4663 succeeds4664 PUT /projects/:id/remote_mirrors/:mirror_id4665 when enabling only_protected_branches4666 removes mirror_branch_regex4667 when disabling only_protected_branches4668 with only_protected_branches enabled4669 disables protected branches mirroring4670 with only_protected_branches disabled4671 does not remove mirror_branch_regex4672 when setting mirror_branch_regex4673 disables protected branches mirroring4674 when removing mirror_branch_regex4675 succeeds4676Create an external audit event destination header4677 when feature is licensed4678 when current user is a group owner4679 creates the header with the correct attributes4680 when the header attributes are invalid4681 returns correct errors4682 behaves like a mutation that does not create a header4683 does not create a header4684 when current user is a group maintainer4685 behaves like a mutation that does not create a header4686 does not create a header4687 when current user is a group developer4688 behaves like a mutation that does not create a header4689 does not create a header4690 when current user is a group guest4691 behaves like a mutation that does not create a header4692 does not create a header4693 when feature is unlicensed4694 behaves like a mutation on an unauthorized resource4695 behaves like a mutation that returns top-level errors4696 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"4697 behaves like a mutation that does not create a header4698 does not create a header4699API::GroupMilestones4700 matches V4 EE-specific response schema for a list of issues4701 behaves like group and project milestone burndowns4702 GET /groups/:id/milestones/:milestone_id/burndown_events4703 returns burndown events list4704 returns 404 when user is not authorized to read milestone4705Projects::BranchesController4706 GET #index4707 for mirrored projects with diverged branch4708 renders the diverged from upstream partial4709Update board epic user preferences4710 returns an error if user can not access the board4711 when user can access the board4712 returns an error if user can not access the epic4713 when user can access the epic4714 updates user preferences4715Deleting an iteration4716 when the user does not have permission4717 behaves like a mutation that returns a top-level access error4718 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"4719 when the user has permission4720 when iterations feature is disabled4721 behaves like a mutation that returns top-level errors4722 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"4723 when iterations feature is enabled4724 when iteration belongs to a manual cadence4725 deletes the iteration4726 when iteration belongs to an automatic cadence4727 behaves like a mutation that returns top-level errors4728 is expected to contain exactly "Deleting iterations from automatic iteration cadences is not allowed."4729 when required arguments are missing4730 returns error about required argument4731Group.contributions4732 # order random4733 when the license is not available4734 returns no data4735 when the license is available4736 when postgres is the data source4737 behaves like returns correct data4738 returns data4739 with events from different users4740 does not create N+1 queries4741Query.workspace(id: RemoteDevelopmentWorkspaceID!)4742 # order random4743 when licensed and remote_development_feature_flag feature flag is enabled4744 is expected to eq "workspace-8-1983-fdo9ns"4745 behaves like a working graphql query4746 returns a successful response4747 when the user is not authorized4748 does not contain fields for the other workspace4749 behaves like workspaces query in unlicensed environment and with feature flag off4750 when remote_development feature is unlicensed4751 returns an error4752 when remote_development_feature_flag feature flag is disabled4753 returns an error4754API::PypiPackages4755 # order random4756 GET /api/v4/projects/:id/packages/pypi/files/:sha256/*file_identifier4757 behaves like applying ip restriction for group4758 in group without restriction4759 behaves like returning response status4760 returns ok4761 in group with restriction4762 with address within the range4763 behaves like returning response status4764 returns ok4765 with address outside the range4766 behaves like returning response status4767 returns not_found4768 GET /api/v4/groups/:id/-/packages/pypi/files/:sha256/*file_identifier4769 behaves like applying ip restriction for group4770 in group without restriction4771 behaves like returning response status4772 returns ok4773 in group with restriction4774 with address within the range4775 behaves like returning response status4776 returns ok4777 with address outside the range4778 behaves like returning response status4779 returns not_found4780Admin::PushRulesController4781 #update4782 updates sample push rule4783 links push rule with application settings4784 push rules unlicensed4785 returns 4044786 #show4787 returns 2004788 push rules unlicensed4789 returns 4044790Delete a compliance framework4791 feature is unlicensed4792 does not destroy a compliance framework4793 behaves like a mutation that returns top-level errors4794 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"4795 when licensed4796 current_user is namespace owner4797 has no errors4798 destroys a compliance framework4799 current_user is not namespace owner4800 does not destroy a compliance framework4801 behaves like a mutation that returns top-level errors4802 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"4803Environments Deployments query4804 # order random4805 when requesting user permissions4806 limits the result4807Query.project(fullPath).dastScannerProfiles4808 when a user does not have access to the project4809 project response4810 is expected to be nil4811 when the user can run a dast scan4812 dast scanner profiles4813 is expected to be empty4814 when a user has access to multiple projects4815 dast scanner profiles4816 returns only the dast_scanner_profile for the requested project4817 when a user has access dast_scanner_profiles4818 dast scanner profiles4819 is expected not to be empty4820 first dast scanner profile id4821 is expected to eq "gid://gitlab/DastScannerProfile/2"4822Add linked items to a work item4823 # order random4824 link_type: "BLOCKS", expected: "blocks"4825 when licensed feature `blocked_work_items` is available4826 links the work items with correct link type4827 when licensed feature `blocked_work_items` is not available4828 returns an error4829 link_type: "BLOCKED_BY", expected: "is_blocked_by"4830 when licensed feature `blocked_work_items` is available4831 links the work items with correct link type4832 when licensed feature `blocked_work_items` is not available4833 returns an error4834Groups::TodosController4835 POST create4836 when epic is not confidential4837 when epics are available4838 behaves like todos actions4839 when authorized4840 creates todo4841 returns todo path and pending count4842 when not authorized for project/group4843 does not create todo for resource that user has no access to4844 does not create todo when user is not logged in4845 when epics are not available4846 behaves like todo for inaccessible resource4847 does not create todo because resource can not be found4848 when the user can not access confidential epic in public group4849 behaves like todo for inaccessible resource4850 does not create todo because resource can not be found4851getting requirement counts for a project4852 when user has access to the project4853 returns requirement counts4854 behaves like a working graphql query4855 returns a successful response4856 when the user does not have access to the requirement4857 returns nil4858 when requirements feature is not available4859 behaves like nil requirement counts4860 returns nil4861 when there are no requirements in the project4862 returns zero values for missing states4863API::V3::Github4864 GET /repos/:namespace/:project/pulls4865 returns status 2004866 behaves like a GitHub Enterprise Jira DVCS reversible end of life endpoint4867 is a reachable endpoint4868 when the flag is disabled4869 presents as an endpoint that does not exist4870 group_ip_restriction4871 returns 404 for request from ip not in the range4872Destroying an iteration cadence4873 when the user does not have permission4874 behaves like a mutation that returns a top-level access error4875 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"4876 when the user has permission4877 when iterations feature is disabled4878 behaves like a mutation that returns top-level errors4879 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"4880 when iterations feature is enabled4881 destroys the iteration cadence4882 when required arguments are missing4883 returns error about required argument4884Projects::IssueFeatureFlagsController4885 GET #index4886 returns linked feature flags4887 does not return linked feature flags for a reporter4888 orders by feature_flag_issue id4889 does not make N+1 queries4890 when feature flag related issues feature is unlicensed4891 returns not found4892Creating a DAST Site Token4893 behaves like an on-demand scan mutation when user cannot run an on-demand scan4894 when a user does not have access to the project4895 behaves like a mutation that returns a top-level access error4896 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"4897 when a user does not have access to run a dast scan on the project4898 behaves like a mutation that returns a top-level access error4899 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"4900 behaves like an on-demand scan mutation when user can run an on-demand scan4901 returns an empty errors array4902 deletes dast_site_validations where state=passed4903 when on demand scan licensed feature is not available4904 behaves like a mutation that returns a top-level access error4905 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"4906Groups::Analytics::RepositoryAnalyticsController4907 GET show4908 is expected to respond with numeric status code success4909 tracks a pageview event in snowplow4910 when requesting a redirected path4911 redirects to the canonical path4912 when license is missing4913 is expected to respond with numeric status code forbidden4914 when the user has no access to the group4915 is expected to respond with numeric status code forbidden4916 when the user is an auditor4917 is expected to respond with numeric status code success4918Projects::BoardsController4919 GET index4920 behaves like pushes wip limits to frontend4921 self-hosted with correct license4922 is enabled for all groups if the license is correct4923 on .com4924 for group with correct plan4925 is enabled4926 for group with incorrect or no plan4927 is not enabled4928Projects::IncidentManagement::OncallSchedulesController4929 # order random4930 GET #index4931 with read permissions4932 renders index with 200 status code4933 with admin permissions4934 renders index with 200 status code4935 unauthorized4936 responds with 4044937 with unavailable feature4938 responds with 4044939Creating an External Issue Link4940 when the user does not have permission4941 does not destroy external issue link4942 behaves like a mutation that returns a top-level access error4943 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"4944 when the user has permission4945 when security_dashboard is disabled4946 behaves like a mutation that returns top-level errors4947 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"4948 when security_dashboard is enabled4949 destroys the external issue link4950getting project information4951 returns Todos for all target types4952 behaves like a working graphql query4953 returns a successful response4954Mutations::Boards::EpicBoards::Destroy4955 when the user does not have permission4956 does not destroy the board4957 behaves like a mutation that returns a top-level access error4958 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"4959 when the user has permission4960 when everything is ok4961 destroys the board4962 returns an empty board4963 when there is only 1 board for the parent4964 does destroy the board4965API::DebianGroupPackages4966 # order random4967 GET groups/:id/-/packages/debian/pool/:codename/:project_id/:letter/:package_name/:package_version/:file_name4968 behaves like applying ip restriction for group4969 in group without restriction4970 behaves like returning response status4971 returns ok4972 in group with restriction4973 with address within the range4974 behaves like returning response status4975 returns ok4976 with address outside the range4977 behaves like returning response status4978 returns not_found4979API::Snippets4980 # order random4981 GET /snippets/all4982 when repository storage name is specified4983 for an admin4984 returns all snippets4985 filters by the repository storage name4986 does not return any snippet for unknown storage4987 for a user4988 the repository storage filter is ignored4989Projects::Settings::CiCdController4990 as a maintainer4991 GET show4992 renders group protected environments4993 PATCH update4994 when updating general settings4995 when allow_pipeline_trigger_approve_deployment is specified4996 sets allow_pipeline_trigger_approve_deployment4997Query.project.mergeRequest.findingReportsComparer4998 # order random4999 when the user is authorized to read the field5000 returns expected data5001 when sast_reports_in_inline_diff FF is disabled5002 returns null for identifiers and location fields5003 when the user is not authorized to read the field5004 is expected to be nil5005Admin::RunnersController5006 #index5007 enables runner_performance_insights and runner_upgrade_management licensed feature5008 when fetching runner releases is disabled5009 enables only runner_performance_insights licensed feature5010 #show5011 enables runner_upgrade_management, runner_maintenance_note licensed features5012 when fetching runner releases is disabled5013 enables only runner_maintenance_note licensed feature5014 #edit5015 enables runner_maintenance_note licensed feature5016 #dashboard5017 when feature flag "runners_dashboard" is enabled5018 when licensed5019 shows dashboard page5020 when unlicensed5021 returns a 4045022 when feature flag "runners_dashboard" is disabled5023 when licensed5024 returns a 4045025 when unlicensed5026 returns a 4045027API::NugetProjectPackages5028 # order random5029 GET /api/v4/projects/:id/packages/nuget/download/*package_name/*package_version/*package_filename5030 behaves like applying ip restriction for group5031 in group without restriction5032 behaves like returning response status5033 returns ok5034 in group with restriction5035 with address within the range5036 behaves like returning response status5037 returns ok5038 with address outside the range5039 behaves like returning response status5040 returns not_found5041Hand Raise Leads5042 # order random5043 POST /-/subscriptions/hand_raise_leads5044 when authenticated5045 is expected to respond with numeric status code ok5046 calls the hand raise lead service with correct parameters5047 when not on gitlab.com5048 is expected to respond with numeric status code not_found5049 when namespace cannot be found5050 is expected to respond with numeric status code not_found5051 with failure5052 is expected to respond with numeric status code forbidden5053 when not authenticated5054 is expected to respond with numeric status code not_found5055SentNotificationsController5056 Unsubscribing from an epic5057 unsubscribes the user5058 sets the flash message5059 redirects to the merge request page5060getting a repository in a project5061 # order random5062 when ref arg is passed5063 returns the CODEOWNERS file from the requested branch5064 when ref arg is invalid5065 returns an error5066 when ref arg is omitted5067 returns the CODEOWNERS file from the default branch5068Removing a namespace ban5069 removes the ban5070 when resource is not accessible to the user5071 returns an error message5072Creating an issuable resource link5073 # order random5074 creates issuable resource link5075 returns error5076 when link is invalid5077 returns nil5078Admin::ApplicationSettings::RolesAndPermissionsController5079 # order random5080 GET #index5081 with non-admin user5082 behaves like not found5083 is not found5084 when no user is logged in5085 redirects to login page5086 with an admin user5087 when `custom_roles_ui_self_managed` feature flag is disabled5088 behaves like not found5089 is not found5090 when `custom_roles_ui_self_managed` feature flag is enabled5091 when `custom_roles` license is disabled5092 behaves like not found5093 is not found5094 when `custom_roles` license is enabled5095 returns a 200 status code5096API::Ci::Pipelines5097 DELETE /projects/:id/pipelines/:pipeline_id5098 authorized user5099 when audit events is enabled5100 does not log an audit event5101Profiles::BillingsController5102 GET #index5103 renders index with 200 status code5104 fetch subscription plans data from customers.gitlab.com5105 when CustomersDot is unavailable5106 renders a different partial5107Groups::VariablesController5108 PATCH #update5109 scoped variables are available5110 updates the environment scope5111 scoped variables are not available5112 does not update the environment scope5113Groups::Security::MergeCommitReportsController5114 GET index5115 when feature is enabled5116 when user has access to dashboard5117 tells the service to enqueue a job5118 when user does not have access to dashboard5119 behaves like returns not found5120 is expected to respond with numeric status code not_found5121 when feature is not enabled5122 behaves like returns not found5123 is expected to respond with numeric status code not_found5124Removing an on-call schedule5125 # order random5126 removes the on-call schedule5127Admin::SubscriptionsController5128 GET /subscriptions5129 when the user is not admin5130 responds with 4045131 when the user an admin5132 renders the Activation Form5133CountriesController5134 GET #index5135 returns list of countries as json5136 does not include list of denied countries5137 overrides Ukraine name and adds information about restricted regions5138 updates `Taiwan, Province of China` to `Taiwan`5139Rack Attack global throttles5140 when the request is from Geo secondary5141 allows requests over the rate limit5142Admin::ImpersonationTokensController5143 # order random5144 when impersonation is enabled5145 when personal access tokens are disabled5146 responds with a 4045147Profiles::KeysController5148 #create5149 logs the audit event5150Emails::UserCap5151 #user_cap_reached5152 sends mail with expected contents5153Knapsack report was generated. Preview:5154{5155 "ee/spec/controllers/projects/merge_requests_controller_spec.rb": 144.6016202869996,5156 "ee/spec/requests/api/scim/group_scim_spec.rb": 78.13079811199987,5157 "ee/spec/requests/api/epics_spec.rb": 72.94318084799988,5158 "ee/spec/controllers/operations_controller_spec.rb": 67.78180469400013,5159 "ee/spec/requests/api/issues_spec.rb": 56.868943814999966,5160 "ee/spec/requests/api/merge_trains_spec.rb": 54.60707008400004,5161 "ee/spec/requests/api/wikis_spec.rb": 44.481134915999974,5162 "ee/spec/requests/api/scim/instance_scim_spec.rb": 22.237894244000017,5163 "ee/spec/controllers/projects/vulnerability_feedback_controller_spec.rb": 33.70130552799992,5164 "ee/spec/requests/api/project_aliases_spec.rb": 30.399807111999962,5165 "ee/spec/controllers/groups/epic_issues_controller_spec.rb": 32.54911498899992,5166 "ee/spec/requests/api/graphql/mutations/epic_tree/reorder_spec.rb": 39.037756890999844,5167 "ee/spec/requests/groups/settings/domain_verification_controller_spec.rb": 25.62432367500014,5168 "ee/spec/requests/api/vulnerability_issue_links_spec.rb": 20.750633645000562,5169 "ee/spec/requests/api/graphql/project/sbom/dependencies_spec.rb": 31.419851188999928,5170 "ee/spec/requests/api/vulnerability_exports_spec.rb": 16.725093582000227,5171 "ee/spec/requests/admin/credentials_controller_spec.rb": 21.42920180300007,5172 "ee/spec/requests/api/project_push_rule_spec.rb": 17.020166983999843,5173 "ee/spec/controllers/subscriptions_controller_spec.rb": 14.389533485999891,5174 "ee/spec/requests/api/group_boards_spec.rb": 20.627915545999713,5175 "ee/spec/requests/api/group_protected_branches_spec.rb": 10.041042164999453,5176 "ee/spec/controllers/groups/epics/notes_controller_spec.rb": 18.34343359000013,5177 "ee/spec/requests/api/group_hooks_spec.rb": 17.62209121700016,5178 "ee/spec/requests/api/code_suggestions_spec.rb": 9.215570001000742,5179 "ee/spec/controllers/groups/dependency_proxy_for_containers_controller_spec.rb": 13.344674240999666,5180 "ee/spec/controllers/ee/registrations_controller_spec.rb": 8.718622200999562,5181 "ee/spec/requests/projects/settings/access_tokens_controller_spec.rb": 10.11509163899973,5182 "ee/spec/requests/api/graphql/mutations/audit_events/external_audit_event_destinations/create_spec.rb": 11.819976111999495,5183 "ee/spec/requests/api/graphql/instance_security_dashboard_spec.rb": 9.35727162600051,5184 "ee/spec/requests/projects/analytics/dashboards_controller_spec.rb": 8.08161689499957,5185 "ee/spec/controllers/groups/hooks_controller_spec.rb": 9.986756033000347,5186 "ee/spec/controllers/admin/geo/projects_controller_spec.rb": 7.592179080999813,5187 "ee/spec/requests/projects/security/dast_site_profiles_controller_spec.rb": 9.77632975600045,5188 "ee/spec/requests/api/graphql/mutations/security/finding/revert_to_detected_spec.rb": 7.180631264999647,5189 "ee/spec/requests/api/graphql/vulnerabilities/sort_spec.rb": 11.574606821999623,5190 "ee/spec/requests/api/graphql/boards/boards_query_spec.rb": 9.108415909999167,5191 "ee/spec/controllers/projects/requirements_management/requirements_controller_spec.rb": 5.983460610000293,5192 "ee/spec/requests/api/ci/jobs_spec.rb": 5.794554645999597,5193 "ee/spec/controllers/subscriptions/groups_controller_spec.rb": 5.396514836999813,5194 "ee/spec/mailers/ci_minutes_usage_mailer_spec.rb": 3.404823897000824,5195 "ee/spec/requests/user_activity_spec.rb": 8.87265810899953,5196 "ee/spec/requests/api/dependencies_spec.rb": 7.34072192199983,5197 "ee/spec/requests/api/graphql/mutations/audit_events/external_audit_event_destinations/destroy_spec.rb": 6.840136601999802,5198 "ee/spec/requests/api/analytics/group_activity_analytics_spec.rb": 4.2513883789997635,5199 "ee/spec/requests/api/graphql/mutations/security/finding/create_merge_request_spec.rb": 5.838959111999429,5200 "ee/spec/requests/api/graphql/mutations/boards/create_spec.rb": 4.449728683000103,5201 "ee/spec/controllers/groups/iterations_controller_spec.rb": 5.29831283600015,5202 "ee/spec/requests/api/analytics/code_review_analytics_spec.rb": 5.8257420939999065,5203 "ee/spec/requests/api/graphql/project/alert_management/http_integrations_spec.rb": 4.426009496000006,5204 "ee/spec/requests/api/commits_spec.rb": 5.619329799999832,5205 "ee/spec/mailers/ee/emails/admin_notification_spec.rb": 3.833678253000471,5206 "ee/spec/requests/api/graphql/iterations/iterations_spec.rb": 4.366552799999226,5207 "ee/spec/requests/api/graphql/mutations/dast/profiles/update_spec.rb": 5.843040691999704,5208 "ee/spec/requests/api/graphql/mutations/epics/create_spec.rb": 4.829636723000476,5209 "ee/spec/requests/api/gitlab_subscriptions/add_on_purchases_spec.rb": 2.634989119999773,5210 "ee/spec/requests/api/graphql/mutations/audit_events/instance_external_audit_event_destinations/destroy_spec.rb": 2.764770688999306,5211 "ee/spec/controllers/groups/saml_group_links_controller_spec.rb": 2.5051716890002353,5212 "ee/spec/requests/api/graphql/project/branch_protections/push_access_levels_spec.rb": 4.780840917000205,5213 "ee/spec/requests/api/graphql/namespace/projects_spec.rb": 5.406275866000215,5214 "ee/spec/mailers/credentials_inventory_mailer_spec.rb": 1.4825908920001893,5215 "ee/spec/requests/api/graphql/project/branch_protections/merge_access_levels_spec.rb": 4.864944388999902,5216 "ee/spec/requests/api/graphql/project/code_coverage_summary_spec.rb": 4.690988444000141,5217 "ee/spec/requests/groups/roadmap_controller_spec.rb": 3.758282097999654,5218 "ee/spec/controllers/groups/ldap_settings_controller_spec.rb": 2.1950471240006664,5219 "ee/spec/requests/api/member_roles_spec.rb": 3.351139850999971,5220 "ee/spec/requests/api/ml/ai_assist_spec.rb": 4.336003442000219,5221 "ee/spec/requests/api/graphql/mutations/merge_requests/set_assignees_spec.rb": 4.213442422000298,5222 "ee/spec/requests/api/graphql/remote_development/workspaces_by_ids_spec.rb": 3.9903320509993137,5223 "ee/spec/requests/api/graphql/mutations/incident_management/oncall_rotation/update_spec.rb": 3.0413955659996645,5224 "ee/spec/requests/api/graphql/mutations/boards/epic_lists/destroy_spec.rb": 3.3512216809995152,5225 "ee/spec/requests/api/graphql/gitlab_subscriptions/add_on_purchase_spec.rb": 2.9199685060002594,5226 "ee/spec/requests/api/remote_mirrors_spec.rb": 3.9556526930000473,5227 "ee/spec/requests/api/graphql/audit_events/streaming/headers/create_spec.rb": 3.427227164999749,5228 "ee/spec/requests/api/group_milestones_spec.rb": 4.19615805400008,5229 "ee/spec/controllers/projects/branches_controller_spec.rb": 4.189799624000443,5230 "ee/spec/requests/api/graphql/mutations/boards/update_epic_user_preferences_spec.rb": 1.6064143810008318,5231 "ee/spec/requests/api/graphql/mutations/iterations/delete_spec.rb": 2.992713650999576,5232 "ee/spec/requests/api/graphql/analytics/contribution_analytics/contributions_spec.rb": 1.6400658379998276,5233 "ee/spec/requests/api/graphql/remote_development/workspace_by_id_spec.rb": 2.6940279840000585,5234 "ee/spec/requests/api/pypi_packages_spec.rb": 2.685635774999355,5235 "ee/spec/controllers/admin/push_rules_controller_spec.rb": 2.786195556000166,5236 "ee/spec/requests/api/graphql/mutations/compliance_management/frameworks/destroy_spec.rb": 2.6896400850000646,5237 "ee/spec/requests/api/graphql/environments/deployments_spec.rb": 1.4608231930005786,5238 "ee/spec/requests/api/graphql/project/dast_scanner_profiles_spec.rb": 4.006398558000001,5239 "ee/spec/requests/api/graphql/mutations/work_items/linked_items/add_spec.rb": 2.1661581759999535,5240 "ee/spec/controllers/groups/todos_controller_spec.rb": 2.3231921630003853,5241 "ee/spec/requests/api/graphql/project/requirements_management/requirement_counts_spec.rb": 2.495078850000027,5242 "ee/spec/requests/api/v3/github_spec.rb": 2.0024111900002026,5243 "ee/spec/requests/api/graphql/mutations/iterations/cadences/destroy_spec.rb": 2.2817269669994857,5244 "ee/spec/requests/projects/issue_feature_flags_controller_spec.rb": 2.900319347999357,5245 "ee/spec/requests/api/graphql/mutations/dast_site_validations/revoke_spec.rb": 2.165122506999978,5246 "ee/spec/controllers/groups/analytics/repository_analytics_controller_spec.rb": 2.2319100209997487,5247 "ee/spec/controllers/projects/boards_controller_spec.rb": 2.61282994999965,5248 "ee/spec/controllers/projects/incident_management/oncall_schedules_controller_spec.rb": 2.112765421000404,5249 "ee/spec/requests/api/graphql/mutations/vulnerabilities/destroy_external_issue_link_spec.rb": 1.804603395000413,5250 "ee/spec/requests/api/graphql/current_user/todos_query_spec.rb": 2.4621008829999482,5251 "ee/spec/requests/api/graphql/mutations/boards/epic_boards/destroy_spec.rb": 2.000831618999655,5252 "ee/spec/requests/api/debian_group_packages_spec.rb": 1.949004963000334,5253 "ee/spec/requests/api/snippets_spec.rb": 1.6344140000001062,5254 "ee/spec/controllers/projects/settings/ci_cd_controller_spec.rb": 1.943747844000427,5255 "ee/spec/requests/api/graphql/merge_requests/finding_reports_comparer_spec.rb": 1.5522436660003223,5256 "ee/spec/controllers/admin/runners_controller_spec.rb": 1.251554589999614,5257 "ee/spec/requests/api/nuget_project_packages_spec.rb": 1.71425974199974,5258 "ee/spec/requests/subscriptions/hand_raise_leads_spec.rb": 1.2008573740004067,5259 "ee/spec/controllers/ee/sent_notifications_controller_spec.rb": 1.3029513259998566,5260 "ee/spec/requests/api/graphql/project/repository_spec.rb": 1.2993358269995952,5261 "ee/spec/requests/api/graphql/mutations/users/abuse/namespace_bans/destroy_spec.rb": 1.0958349719994658,5262 "ee/spec/requests/api/graphql/mutations/incident_management/issuable_resource_link/create_spec.rb": 1.4064094770001248,5263 "ee/spec/requests/admin/application_settings/roles_and_permissions_controller_spec.rb": 1.108749830999841,5264 "ee/spec/requests/api/ci/pipelines_spec.rb": 1.2543400889999248,5265 "ee/spec/controllers/profiles/billings_controller_spec.rb": 0.5885887530002947,5266 "ee/spec/controllers/ee/groups/variables_controller_spec.rb": 0.856648721000056,5267 "ee/spec/controllers/groups/security/merge_commit_reports_controller_spec.rb": 0.7051107240004058,5268 "ee/spec/requests/api/graphql/mutations/incident_management/oncall_schedule/destroy_spec.rb": 0.7939249860000928,5269 "ee/spec/requests/admin/subscriptions_controller_spec.rb": 0.9055905079994773,5270 "ee/spec/controllers/countries_controller_spec.rb": 0.42234976700001425,5271 "ee/spec/requests/rack_attack_global_spec.rb": 0.702067543999874,5272 "ee/spec/requests/admin/impersonation_tokens_controller_spec.rb": 0.4719230719992993,5273 "ee/spec/controllers/profiles/keys_controller_spec.rb": 0.40617008700064616,5274 "ee/spec/mailers/emails/user_cap_spec.rb": 0.36838144000012115275}5276Knapsack global time execution for tests: 21m 08s5277Pending: (Failures listed here are expected and do not affect your suite's status)5278 1) API::Wikis GET /groups/:id/wikis when wiki is available only for team members when user is guest returns 404 Group Not Found5279 # Temporarily skipped with xcontext5280 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1835281 2) API::Wikis GET /groups/:id/wikis when wiki is available only for team members when user is developer return the empty list of wiki pages5282 # Temporarily skipped with xcontext5283 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:385284 3) API::Wikis GET /groups/:id/wikis when wiki is available only for team members when user is developer when wiki has pages returns the list of wiki pages without content5285 # Temporarily skipped with xcontext5286 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:105287 4) API::Wikis GET /groups/:id/wikis when wiki is available only for team members when user is developer when wiki has pages returns the list of wiki pages with content5288 # Temporarily skipped with xcontext5289 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:235290 5) API::Wikis GET /groups/:id/wikis when wiki is available only for team members when user is maintainer return the empty list of wiki pages5291 # Temporarily skipped with xcontext5292 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:385293 6) API::Wikis GET /groups/:id/wikis when wiki is available only for team members when user is maintainer when wiki has pages returns the list of wiki pages without content5294 # Temporarily skipped with xcontext5295 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:105296 7) API::Wikis GET /groups/:id/wikis when wiki is available only for team members when user is maintainer when wiki has pages returns the list of wiki pages with content5297 # Temporarily skipped with xcontext5298 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:235299 8) API::Wikis GET /groups/:id/wikis/:slug when wiki is available only for team members when user is guest returns 404 Group Not Found5300 # Temporarily skipped with xcontext5301 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1835302 9) API::Wikis GET /groups/:id/wikis/:slug when wiki is available only for team members when user is developer behaves like returns wiki page 5303 # Temporarily skipped with xcontext5304 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:545305 10) API::Wikis GET /groups/:id/wikis/:slug when wiki is available only for team members when user is developer when render param is false behaves like returns wiki page 5306 # Temporarily skipped with xcontext5307 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:545308 11) API::Wikis GET /groups/:id/wikis/:slug when wiki is available only for team members when user is developer when render param is true behaves like returns wiki page 5309 # Temporarily skipped with xcontext5310 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:545311 12) API::Wikis GET /groups/:id/wikis/:slug when wiki is available only for team members when user is developer when wiki page has versions when version param is not present retrieves the last version5312 # Temporarily skipped with xcontext5313 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:955314 13) API::Wikis GET /groups/:id/wikis/:slug when wiki is available only for team members when user is developer when wiki page has versions when version param is set retrieves the specific page version5315 # Temporarily skipped with xcontext5316 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1035317 14) API::Wikis GET /groups/:id/wikis/:slug when wiki is available only for team members when user is developer when wiki page has versions when version param is set when version param is not valid or inexistent behaves like wiki API 404 Wiki Page Not Found returns 404 Wiki Page Not Found5318 # Temporarily skipped with xcontext5319 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1755320 15) API::Wikis GET /groups/:id/wikis/:slug when wiki is available only for team members when user is developer when page does not exist returns 404 Wiki Page Not Found5321 # Temporarily skipped with xcontext5322 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1755323 16) API::Wikis GET /groups/:id/wikis/:slug when wiki is available only for team members when user is maintainer behaves like returns wiki page 5324 # Temporarily skipped with xcontext5325 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:545326 17) API::Wikis GET /groups/:id/wikis/:slug when wiki is available only for team members when user is maintainer when render param is false behaves like returns wiki page 5327 # Temporarily skipped with xcontext5328 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:545329 18) API::Wikis GET /groups/:id/wikis/:slug when wiki is available only for team members when user is maintainer when render param is true behaves like returns wiki page 5330 # Temporarily skipped with xcontext5331 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:545332 19) API::Wikis GET /groups/:id/wikis/:slug when wiki is available only for team members when user is maintainer when wiki page has versions when version param is not present retrieves the last version5333 # Temporarily skipped with xcontext5334 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:955335 20) API::Wikis GET /groups/:id/wikis/:slug when wiki is available only for team members when user is maintainer when wiki page has versions when version param is set retrieves the specific page version5336 # Temporarily skipped with xcontext5337 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1035338 21) API::Wikis GET /groups/:id/wikis/:slug when wiki is available only for team members when user is maintainer when wiki page has versions when version param is set when version param is not valid or inexistent behaves like wiki API 404 Wiki Page Not Found returns 404 Wiki Page Not Found5339 # Temporarily skipped with xcontext5340 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1755341 22) API::Wikis GET /groups/:id/wikis/:slug when wiki is available only for team members when user is maintainer when page does not exist returns 404 Wiki Page Not Found5342 # Temporarily skipped with xcontext5343 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1755344 23) API::Wikis POST /groups/:id/wikis when wiki is available only for team members when user is guest returns 404 Group Not Found5345 # Temporarily skipped with xcontext5346 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1835347 24) API::Wikis POST /groups/:id/wikis when wiki is available only for team members when user is developer creates the wiki page5348 # Temporarily skipped with xcontext5349 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1175350 25) API::Wikis POST /groups/:id/wikis when wiki is available only for team members when user is developer responds with validation error on empty title5351 # Temporarily skipped with xcontext5352 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1315353 26) API::Wikis POST /groups/:id/wikis when wiki is available only for team members when user is developer responds with validation error on empty content5354 # Temporarily skipped with xcontext5355 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1315356 27) API::Wikis POST /groups/:id/wikis when wiki is available only for team members when user is maintainer creates the wiki page5357 # Temporarily skipped with xcontext5358 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1175359 28) API::Wikis POST /groups/:id/wikis when wiki is available only for team members when user is maintainer responds with validation error on empty title5360 # Temporarily skipped with xcontext5361 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1315362 29) API::Wikis POST /groups/:id/wikis when wiki is available only for team members when user is maintainer responds with validation error on empty content5363 # Temporarily skipped with xcontext5364 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1315365 30) API::Wikis PUT /group/:id/wikis/:slug when wiki is available only for team members when user is guest returns 404 Group Not Found5366 # Temporarily skipped with xcontext5367 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1835368 31) API::Wikis PUT /group/:id/wikis/:slug when wiki is available only for team members when user is developer updates the wiki page5369 # Temporarily skipped with xcontext5370 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1445371 32) API::Wikis PUT /group/:id/wikis/:slug when wiki is available only for team members when user is developer updates with wiki with missing title5372 # Temporarily skipped with xcontext5373 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1565374 33) API::Wikis PUT /group/:id/wikis/:slug when wiki is available only for team members when user is developer updates with wiki with missing content5375 # Temporarily skipped with xcontext5376 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1565377 34) API::Wikis PUT /group/:id/wikis/:slug when wiki is available only for team members when user is developer updates with wiki with missing format5378 # Temporarily skipped with xcontext5379 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1565380 35) API::Wikis PUT /group/:id/wikis/:slug when wiki is available only for team members when user is developer when page does not exist returns 404 Wiki Page Not Found5381 # Temporarily skipped with xcontext5382 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1755383 36) API::Wikis PUT /group/:id/wikis/:slug when wiki is available only for team members when user is maintainer updates the wiki page5384 # Temporarily skipped with xcontext5385 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1445386 37) API::Wikis PUT /group/:id/wikis/:slug when wiki is available only for team members when user is maintainer updates with wiki with missing title5387 # Temporarily skipped with xcontext5388 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1565389 38) API::Wikis PUT /group/:id/wikis/:slug when wiki is available only for team members when user is maintainer updates with wiki with missing content5390 # Temporarily skipped with xcontext5391 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1565392 39) API::Wikis PUT /group/:id/wikis/:slug when wiki is available only for team members when user is maintainer updates with wiki with missing format5393 # Temporarily skipped with xcontext5394 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1565395 40) API::Wikis PUT /group/:id/wikis/:slug when wiki is available only for team members when user is maintainer when page is not existing returns 404 Wiki Page Not Found5396 # Temporarily skipped with xcontext5397 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1755398 41) API::Wikis DELETE /groups/:id/wikis/:slug when wiki is available only for team members when user is guest returns 404 Group Not Found5399 # Temporarily skipped with xcontext5400 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1835401 42) API::Wikis DELETE /groups/:id/wikis/:slug when wiki is available only for team members when user is developer returns 403 Forbidden5402 # Temporarily skipped with xcontext5403 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1675404 43) API::Wikis DELETE /groups/:id/wikis/:slug when wiki is available only for team members when user is maintainer returns 204 No Content5405 # Temporarily skipped with xcontext5406 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1915407 44) API::Wikis POST /groups/:id/wikis/attachments when wiki is available only for team members when user is guest returns 404 Group Not Found5408 # Temporarily skipped with xcontext5409 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1835410 45) API::Wikis POST /groups/:id/wikis/attachments when wiki is available only for team members when user is developer pushes attachment to the wiki repository5411 # Temporarily skipped with xcontext5412 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1975413 46) API::Wikis POST /groups/:id/wikis/attachments when wiki is available only for team members when user is developer responds with validation error on empty file5414 # Temporarily skipped with xcontext5415 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:2065416 47) API::Wikis POST /groups/:id/wikis/attachments when wiki is available only for team members when user is developer responds with validation error on invalid temp file5417 # Temporarily skipped with xcontext5418 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:2165419 48) API::Wikis POST /groups/:id/wikis/attachments when wiki is available only for team members when user is developer is backward compatible with regular multipart uploads5420 # Temporarily skipped with xcontext5421 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:2265422 49) API::Wikis POST /groups/:id/wikis/attachments when wiki is available only for team members when user is maintainer pushes attachment to the wiki repository5423 # Temporarily skipped with xcontext5424 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1975425 50) API::Wikis POST /groups/:id/wikis/attachments when wiki is available only for team members when user is maintainer responds with validation error on empty file5426 # Temporarily skipped with xcontext5427 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:2065428 51) API::Wikis POST /groups/:id/wikis/attachments when wiki is available only for team members when user is maintainer responds with validation error on invalid temp file5429 # Temporarily skipped with xcontext5430 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:2165431 52) API::Wikis POST /groups/:id/wikis/attachments when wiki is available only for team members when user is maintainer is backward compatible with regular multipart uploads5432 # Temporarily skipped with xcontext5433 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:2265434Finished in 21 minutes 12 seconds (files took 1 minute 24.67 seconds to load)54352231 examples, 0 failures, 52 pending5436Randomized with seed 149315437[TEST PROF INFO] Time spent in factories: 09:21.752 (42.73% of total time)5438RSpec exited with 0.5439No examples to retry, congrats!5441Running after script...5442$ echo -e "\e[0Ksection_start:`date +%s`:report_results_section[collapsed=true]\r\e[0KReport results"5447Not uploading cache ruby-gems-debian-bullseye-ruby-3.0-16 due to policy5449Uploading artifacts...5450WARNING: auto_explain/: no matching files. Ensure that the artifact path is relative to the working directory (/builds/gitlab-org/gitlab) 5451coverage/: found 5 matching artifact files and directories 5452crystalball/: found 2 matching artifact files and directories 5453WARNING: deprecations/: no matching files. Ensure that the artifact path is relative to the working directory (/builds/gitlab-org/gitlab) 5454knapsack/: found 4 matching artifact files and directories 5455rspec/: found 16 matching artifact files and directories 5456WARNING: tmp/capybara/: no matching files. Ensure that the artifact path is relative to the working directory (/builds/gitlab-org/gitlab) 5457log/*.log: found 17 matching artifact files and directories 5458WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/4900739655/artifacts?artifact_format=zip&artifact_type=archive&expire_in=31d new-url=https://gitlab.com5459WARNING: Retrying... context=artifacts-uploader error=request redirected5460Uploading artifacts as "archive" to coordinator... 201 Created id=4900739655 responseStatus=201 Created token=64_L1UkP5461Uploading artifacts...5462rspec/rspec-*.xml: found 1 matching artifact files and directories 5463WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/4900739655/artifacts?artifact_format=gzip&artifact_type=junit&expire_in=31d new-url=https://gitlab.com5464WARNING: Retrying... context=artifacts-uploader error=request redirected5465Uploading artifacts as "junit" to coordinator... 201 Created id=4900739655 responseStatus=201 Created token=64_L1UkP5467Job succeeded