rspec-ee integration pg13 1/6
Passed Started
by
@rkadam3

Rajendra Kadam
1Running with gitlab-runner 15.9.0~beta.212.g8ccc65e7 (8ccc65e7)2 on green-2.private.runners-manager.gitlab.com/gitlab.com/gitlab-org GaSD-S1F, system ID: s_5651e5b5643b3 feature flags: FF_NETWORK_PER_BUILD:true, FF_USE_FASTZIP:true, FF_USE_IMPROVED_URL_MASKING:true6Using Docker executor with image registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0.patched-golang-1.19-rust-1.65-node-16.14-postgresql-13:rubygems-3.4-git-2.36-lfs-2.9-chrome-109-yarn-1.22-graphicsmagick-1.3.36 ...7Starting service postgres:13 ...8Pulling docker image postgres:13 ...9Using docker image sha256:ab3945c8cf7160ed1381efd47c6a203ba9a84fc7327a17e4a389601eb3738b3b for postgres:13 with digest postgres@sha256:67edfda7deeecfda8e40c9b00818eae76573a9e9466ba7edbc536662d128173b ...10Starting service redis:6.2-alpine ...11Pulling docker image redis:6.2-alpine ...12Using docker image sha256:a9a47a706682d445577bb5da7328f0faaa0863a5742a315c829faa461dfc23ae for redis:6.2-alpine with digest redis@sha256:317575f05099ea47b1f2855b1bb6e068b52847bfa19b87014d88d57f82d4b8f0 ...13Starting service elasticsearch:7.17.6 ...14Pulling docker image elasticsearch:7.17.6 ...15Using docker image sha256:5fad10241ffd65d817ed0ddfaf6e87eee1f7dc2a7db33db1047835560ea71fda for elasticsearch:7.17.6 with digest elasticsearch@sha256:6c128de5d01c0c130a806022d6bd99b3e4c27a9af5bfc33b6b81861ae117d028 ...16Starting service registry.gitlab.com/gitlab-org/gitlab-build-images:zoekt-ci-image-1.0 ...17Authenticating with credentials from job payload (GitLab Registry)18Pulling docker image registry.gitlab.com/gitlab-org/gitlab-build-images:zoekt-ci-image-1.0 ...19Using docker image sha256:4777ec1fa89def7d692d4979d05cb05234df25da1c6a3f67a564a433ec5ba1c8 for registry.gitlab.com/gitlab-org/gitlab-build-images:zoekt-ci-image-1.0 with digest registry.gitlab.com/gitlab-org/gitlab-build-images@sha256:80c0cee4566aefe4f1f287e1091263e08b0ebc41ed3dc4e76930df3634ccb9aa ...20Waiting for services to be up and running (timeout 30 seconds)...21*** WARNING: Service runner-gasd-s1f-project-278964-concurrent-0-2077675248e3724b-elasticsearch-2 probably didn't start properly.22Health check error:23service "runner-gasd-s1f-project-278964-concurrent-0-2077675248e3724b-elasticsearch-2-wait-for-service" timeout24Health check container logs:25Service container logs:262023-04-19T09:38:07.695358084Z {"type": "server", "timestamp": "2023-04-19T09:38:07,661Z", "level": "INFO", "component": "o.e.n.Node", "cluster.name": "docker-cluster", "node.name": "275df1503584", "message": "version[7.17.6], pid[6], build[default/docker/f65e9d338dc1d07b642e14a27f338990148ee5b6/2022-08-23T11:08:48.893373482Z], OS[Linux/5.4.109+/amd64], JVM[Oracle Corporation/OpenJDK 64-Bit Server VM/18.0.2/18.0.2+9-61]" }272023-04-19T09:38:07.696617224Z {"type": "server", "timestamp": "2023-04-19T09:38:07,695Z", "level": "INFO", "component": "o.e.n.Node", "cluster.name": "docker-cluster", "node.name": "275df1503584", "message": "JVM home [/usr/share/elasticsearch/jdk], using bundled JDK [true]" }282023-04-19T09:38:07.697525254Z {"type": "server", "timestamp": "2023-04-19T09:38:07,696Z", "level": "INFO", "component": "o.e.n.Node", "cluster.name": "docker-cluster", "node.name": "275df1503584", "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-16163995473496290017, -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]" }292023-04-19T09:38:18.889535214Z {"type": "server", "timestamp": "2023-04-19T09:38:18,888Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "275df1503584", "message": "loaded module [aggs-matrix-stats]" }302023-04-19T09:38:18.890135644Z {"type": "server", "timestamp": "2023-04-19T09:38:18,889Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "275df1503584", "message": "loaded module [analysis-common]" }312023-04-19T09:38:18.890831314Z {"type": "server", "timestamp": "2023-04-19T09:38:18,890Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "275df1503584", "message": "loaded module [constant-keyword]" }322023-04-19T09:38:18.891151074Z {"type": "server", "timestamp": "2023-04-19T09:38:18,890Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "275df1503584", "message": "loaded module [frozen-indices]" }332023-04-19T09:38:18.895123084Z {"type": "server", "timestamp": "2023-04-19T09:38:18,891Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "275df1503584", "message": "loaded module [ingest-common]" }342023-04-19T09:38:18.895501134Z {"type": "server", "timestamp": "2023-04-19T09:38:18,895Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "275df1503584", "message": "loaded module [ingest-geoip]" }352023-04-19T09:38:18.895829954Z {"type": "server", "timestamp": "2023-04-19T09:38:18,895Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "275df1503584", "message": "loaded module [ingest-user-agent]" }362023-04-19T09:38:18.896317164Z {"type": "server", "timestamp": "2023-04-19T09:38:18,895Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "275df1503584", "message": "loaded module [kibana]" }372023-04-19T09:38:18.896535734Z {"type": "server", "timestamp": "2023-04-19T09:38:18,896Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "275df1503584", "message": "loaded module [lang-expression]" }382023-04-19T09:38:18.896837094Z {"type": "server", "timestamp": "2023-04-19T09:38:18,896Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "275df1503584", "message": "loaded module [lang-mustache]" }392023-04-19T09:38:18.897052874Z {"type": "server", "timestamp": "2023-04-19T09:38:18,896Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "275df1503584", "message": "loaded module [lang-painless]" }402023-04-19T09:38:18.897335144Z {"type": "server", "timestamp": "2023-04-19T09:38:18,897Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "275df1503584", "message": "loaded module [legacy-geo]" }412023-04-19T09:38:18.897561344Z {"type": "server", "timestamp": "2023-04-19T09:38:18,897Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "275df1503584", "message": "loaded module [mapper-extras]" }422023-04-19T09:38:18.897836344Z {"type": "server", "timestamp": "2023-04-19T09:38:18,897Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "275df1503584", "message": "loaded module [mapper-version]" }432023-04-19T09:38:18.898062444Z {"type": "server", "timestamp": "2023-04-19T09:38:18,897Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "275df1503584", "message": "loaded module [parent-join]" }442023-04-19T09:38:18.898368174Z {"type": "server", "timestamp": "2023-04-19T09:38:18,898Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "275df1503584", "message": "loaded module [percolator]" }452023-04-19T09:38:18.898569504Z {"type": "server", "timestamp": "2023-04-19T09:38:18,898Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "275df1503584", "message": "loaded module [rank-eval]" }462023-04-19T09:38:18.898779894Z {"type": "server", "timestamp": "2023-04-19T09:38:18,898Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "275df1503584", "message": "loaded module [reindex]" }472023-04-19T09:38:18.899683994Z {"type": "server", "timestamp": "2023-04-19T09:38:18,898Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "275df1503584", "message": "loaded module [repositories-metering-api]" }482023-04-19T09:38:18.899708114Z {"type": "server", "timestamp": "2023-04-19T09:38:18,898Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "275df1503584", "message": "loaded module [repository-encrypted]" }492023-04-19T09:38:18.899714834Z {"type": "server", "timestamp": "2023-04-19T09:38:18,899Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "275df1503584", "message": "loaded module [repository-url]" }502023-04-19T09:38:18.899720474Z {"type": "server", "timestamp": "2023-04-19T09:38:18,899Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "275df1503584", "message": "loaded module [runtime-fields-common]" }512023-04-19T09:38:18.899724664Z {"type": "server", "timestamp": "2023-04-19T09:38:18,899Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "275df1503584", "message": "loaded module [search-business-rules]" }522023-04-19T09:38:18.899906214Z {"type": "server", "timestamp": "2023-04-19T09:38:18,899Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "275df1503584", "message": "loaded module [searchable-snapshots]" }532023-04-19T09:38:18.900107284Z {"type": "server", "timestamp": "2023-04-19T09:38:18,899Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "275df1503584", "message": "loaded module [snapshot-repo-test-kit]" }542023-04-19T09:38:18.900367174Z {"type": "server", "timestamp": "2023-04-19T09:38:18,900Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "275df1503584", "message": "loaded module [spatial]" }552023-04-19T09:38:18.900587624Z {"type": "server", "timestamp": "2023-04-19T09:38:18,900Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "275df1503584", "message": "loaded module [transform]" }562023-04-19T09:38:18.900802414Z {"type": "server", "timestamp": "2023-04-19T09:38:18,900Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "275df1503584", "message": "loaded module [transport-netty4]" }572023-04-19T09:38:18.901032644Z {"type": "server", "timestamp": "2023-04-19T09:38:18,900Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "275df1503584", "message": "loaded module [unsigned-long]" }582023-04-19T09:38:18.901317924Z {"type": "server", "timestamp": "2023-04-19T09:38:18,900Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "275df1503584", "message": "loaded module [vector-tile]" }592023-04-19T09:38:18.901549394Z {"type": "server", "timestamp": "2023-04-19T09:38:18,901Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "275df1503584", "message": "loaded module [vectors]" }602023-04-19T09:38:18.901768064Z {"type": "server", "timestamp": "2023-04-19T09:38:18,901Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "275df1503584", "message": "loaded module [wildcard]" }612023-04-19T09:38:18.901982733Z {"type": "server", "timestamp": "2023-04-19T09:38:18,901Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "275df1503584", "message": "loaded module [x-pack-aggregate-metric]" }622023-04-19T09:38:18.902191593Z {"type": "server", "timestamp": "2023-04-19T09:38:18,901Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "275df1503584", "message": "loaded module [x-pack-analytics]" }632023-04-19T09:38:18.902439754Z {"type": "server", "timestamp": "2023-04-19T09:38:18,902Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "275df1503584", "message": "loaded module [x-pack-async]" }642023-04-19T09:38:18.902682983Z {"type": "server", "timestamp": "2023-04-19T09:38:18,902Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "275df1503584", "message": "loaded module [x-pack-async-search]" }652023-04-19T09:38:18.902993593Z {"type": "server", "timestamp": "2023-04-19T09:38:18,902Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "275df1503584", "message": "loaded module [x-pack-autoscaling]" }662023-04-19T09:38:18.903226033Z {"type": "server", "timestamp": "2023-04-19T09:38:18,902Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "275df1503584", "message": "loaded module [x-pack-ccr]" }672023-04-19T09:38:18.903484403Z {"type": "server", "timestamp": "2023-04-19T09:38:18,903Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "275df1503584", "message": "loaded module [x-pack-core]" }682023-04-19T09:38:18.903719674Z {"type": "server", "timestamp": "2023-04-19T09:38:18,903Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "275df1503584", "message": "loaded module [x-pack-data-streams]" }692023-04-19T09:38:18.903945064Z {"type": "server", "timestamp": "2023-04-19T09:38:18,903Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "275df1503584", "message": "loaded module [x-pack-deprecation]" }702023-04-19T09:38:18.904200824Z {"type": "server", "timestamp": "2023-04-19T09:38:18,903Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "275df1503584", "message": "loaded module [x-pack-enrich]" }712023-04-19T09:38:18.904411214Z {"type": "server", "timestamp": "2023-04-19T09:38:18,904Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "275df1503584", "message": "loaded module [x-pack-eql]" }722023-04-19T09:38:18.904636103Z {"type": "server", "timestamp": "2023-04-19T09:38:18,904Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "275df1503584", "message": "loaded module [x-pack-fleet]" }732023-04-19T09:38:18.904838543Z {"type": "server", "timestamp": "2023-04-19T09:38:18,904Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "275df1503584", "message": "loaded module [x-pack-graph]" }742023-04-19T09:38:18.905077353Z {"type": "server", "timestamp": "2023-04-19T09:38:18,904Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "275df1503584", "message": "loaded module [x-pack-identity-provider]" }752023-04-19T09:38:18.905289864Z {"type": "server", "timestamp": "2023-04-19T09:38:18,905Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "275df1503584", "message": "loaded module [x-pack-ilm]" }762023-04-19T09:38:18.905494894Z {"type": "server", "timestamp": "2023-04-19T09:38:18,905Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "275df1503584", "message": "loaded module [x-pack-logstash]" }772023-04-19T09:38:18.905714654Z {"type": "server", "timestamp": "2023-04-19T09:38:18,905Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "275df1503584", "message": "loaded module [x-pack-ml]" }782023-04-19T09:38:18.905928143Z {"type": "server", "timestamp": "2023-04-19T09:38:18,905Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "275df1503584", "message": "loaded module [x-pack-monitoring]" }792023-04-19T09:38:18.906146933Z {"type": "server", "timestamp": "2023-04-19T09:38:18,905Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "275df1503584", "message": "loaded module [x-pack-ql]" }802023-04-19T09:38:18.906351823Z {"type": "server", "timestamp": "2023-04-19T09:38:18,906Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "275df1503584", "message": "loaded module [x-pack-rollup]" }812023-04-19T09:38:18.906595314Z {"type": "server", "timestamp": "2023-04-19T09:38:18,906Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "275df1503584", "message": "loaded module [x-pack-security]" }822023-04-19T09:38:18.907059823Z {"type": "server", "timestamp": "2023-04-19T09:38:18,906Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "275df1503584", "message": "loaded module [x-pack-shutdown]" }832023-04-19T09:38:18.907432983Z {"type": "server", "timestamp": "2023-04-19T09:38:18,907Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "275df1503584", "message": "loaded module [x-pack-sql]" }842023-04-19T09:38:18.908675613Z {"type": "server", "timestamp": "2023-04-19T09:38:18,907Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "275df1503584", "message": "loaded module [x-pack-stack]" }852023-04-19T09:38:18.908962163Z {"type": "server", "timestamp": "2023-04-19T09:38:18,908Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "275df1503584", "message": "loaded module [x-pack-text-structure]" }862023-04-19T09:38:18.909228723Z {"type": "server", "timestamp": "2023-04-19T09:38:18,908Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "275df1503584", "message": "loaded module [x-pack-voting-only-node]" }872023-04-19T09:38:18.909503273Z {"type": "server", "timestamp": "2023-04-19T09:38:18,909Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "275df1503584", "message": "loaded module [x-pack-watcher]" }882023-04-19T09:38:18.910131643Z {"type": "server", "timestamp": "2023-04-19T09:38:18,909Z", "level": "INFO", "component": "o.e.p.PluginsService", "cluster.name": "docker-cluster", "node.name": "275df1503584", "message": "no plugins loaded" }892023-04-19T09:38:19.110151071Z {"type": "server", "timestamp": "2023-04-19T09:38:19,109Z", "level": "INFO", "component": "o.e.e.NodeEnvironment", "cluster.name": "docker-cluster", "node.name": "275df1503584", "message": "using [1] data paths, mounts [[/ (overlay)]], net usable_space [81.1gb], net total_space [94.2gb], types [overlay]" }902023-04-19T09:38:19.110540921Z {"type": "server", "timestamp": "2023-04-19T09:38:19,110Z", "level": "INFO", "component": "o.e.e.NodeEnvironment", "cluster.name": "docker-cluster", "node.name": "275df1503584", "message": "heap size [256mb], compressed ordinary object pointers [true]" }912023-04-19T09:38:19.258484513Z {"type": "server", "timestamp": "2023-04-19T09:38:19,257Z", "level": "INFO", "component": "o.e.n.Node", "cluster.name": "docker-cluster", "node.name": "275df1503584", "message": "node name [275df1503584], node ID [4KgNy8n2RWKHkXTetHBSsA], cluster name [docker-cluster], roles [transform, data_frozen, master, remote_cluster_client, data, ml, data_content, data_hot, data_warm, data_cold, ingest]" }92*********93Authenticating with credentials from job payload (GitLab Registry)94Pulling docker image registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0.patched-golang-1.19-rust-1.65-node-16.14-postgresql-13:rubygems-3.4-git-2.36-lfs-2.9-chrome-109-yarn-1.22-graphicsmagick-1.3.36 ...95Using docker image sha256:552b81110cdd830e05d17c8e7365f72e1dd96842217d7225636cb55a75777ea7 for registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0.patched-golang-1.19-rust-1.65-node-16.14-postgresql-13:rubygems-3.4-git-2.36-lfs-2.9-chrome-109-yarn-1.22-graphicsmagick-1.3.36 with digest registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0.patched-golang-1.19-rust-1.65-node-16.14-postgresql-13@sha256:a386dd1acb1341f710f3c3c320984f70512694bcfec8cb1c771365058ac7c475 ...97Running on runner-gasd-s1f-project-278964-concurrent-0 via runner-gasd-s1f-private-1681889557-4c4142a6...99$ eval "$CI_PRE_CLONE_SCRIPT"100Fetching changes with git depth set to 20...101Initialized empty Git repository in /builds/gitlab-org/gitlab/.git/102Created fresh repository.103remote: Enumerating objects: 129399, done. 104remote: Counting objects: 100% (129399/129399), done. 105remote: Compressing objects: 100% (84885/84885), done. 106remote: Total 129399 (delta 54003), reused 89052 (delta 39575), pack-reused 0 107Receiving objects: 100% (129399/129399), 122.83 MiB | 25.67 MiB/s, done.108Resolving deltas: 100% (54003/54003), done.110 * [new ref] refs/pipelines/841847819 -> refs/pipelines/841847819111 * [new branch] master -> origin/master112Checking out e2ff33c5 as detached HEAD (ref is master)...113Skipping Git submodules setup114$ git remote set-url origin "${CI_REPOSITORY_URL}"116Checking cache for ruby-gems-debian-bullseye-ruby-3.0-16...117cache.zip is up to date 118Successfully extracted cache120Downloading artifacts for compile-test-assets (4139146271)...121Downloading artifacts from coordinator... ok host=storage.googleapis.com id=4139146271 responseStatus=200 OK token=64_-fX4C122Downloading artifacts for retrieve-tests-metadata (4139146276)...123Downloading artifacts from coordinator... ok host=storage.googleapis.com id=4139146276 responseStatus=200 OK token=64_-fX4C124Downloading artifacts for setup-test-env (4139146274)...125Downloading artifacts from coordinator... ok host=storage.googleapis.com id=4139146274 responseStatus=200 OK token=64_-fX4C127Using docker image sha256:552b81110cdd830e05d17c8e7365f72e1dd96842217d7225636cb55a75777ea7 for registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0.patched-golang-1.19-rust-1.65-node-16.14-postgresql-13:rubygems-3.4-git-2.36-lfs-2.9-chrome-109-yarn-1.22-graphicsmagick-1.3.36 with digest registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0.patched-golang-1.19-rust-1.65-node-16.14-postgresql-13@sha256:a386dd1acb1341f710f3c3c320984f70512694bcfec8cb1c771365058ac7c475 ...128$ echo $FOSS_ONLY129$ [ "$FOSS_ONLY" = "1" ] && rm -rf ee/ qa/spec/ee/ qa/qa/specs/features/ee/ qa/qa/ee/ qa/qa/ee.rb130$ export GOPATH=$CI_PROJECT_DIR/.go131$ mkdir -p $GOPATH132$ source scripts/utils.sh133$ source scripts/prepare_build.sh788Using decomposed database config (config/database.yml.decomposed-postgresql)789Geo DB will be set up.790$ setup_db_user_only791CREATE ROLE792GRANT793==> 'setup_db_user_only' succeeded in 0 seconds.794$ bundle exec rake db:drop db:create db:schema:load db:migrate gitlab:db:lock_writes795Dropped database 'gitlabhq_test'796Dropped database 'gitlabhq_test_ci'797Dropped database 'gitlabhq_geo_test'798Created database 'gitlabhq_test'799Created database 'gitlabhq_test_ci'800Created database 'gitlabhq_geo_test'801main: == [advisory_lock_connection] object_id: 274120, pg_backend_pid: 108802main: == [advisory_lock_connection] object_id: 274120, pg_backend_pid: 108803ci: == [advisory_lock_connection] object_id: 274200, pg_backend_pid: 110804ci: == [advisory_lock_connection] object_id: 274200, pg_backend_pid: 110805geo: == [advisory_lock_connection] object_id: 274280, pg_backend_pid: 112806geo: == [advisory_lock_connection] object_id: 274280, pg_backend_pid: 112807==> 'bundle exec rake db:drop db:create db:schema:load db:migrate gitlab:db:lock_writes' succeeded in 48 seconds.808$ setup_db_praefect809SELECT pg_catalog.set_config('search_path', '', false);810CREATE DATABASE praefect_test ENCODING 'UTF8';811==> 'setup_db_praefect' succeeded in 0 seconds.812$ source ./scripts/rspec_helpers.sh813$ run_timed_command "gem install knapsack --no-document"814$ gem install knapsack --no-document815Successfully installed knapsack-4.0.08161 gem installed817==> 'gem install knapsack --no-document' succeeded in 0 seconds.818$ echo -e "\e[0Ksection_start:`date +%s`:gitaly-test-spawn[collapsed=true]\r\e[0KStarting Gitaly"827$ rspec_paralellized_job "--tag ~quarantine --tag ~level:background_migration"828SKIP_FLAKY_TESTS_AUTOMATICALLY: false829RETRY_FAILED_TESTS_IN_NEW_PROCESS: true830KNAPSACK_GENERATE_REPORT: true831FLAKY_RSPEC_GENERATE_REPORT: true832KNAPSACK_TEST_FILE_PATTERN: {ee/}spec/{commands,controllers,mailers,requests}{,/**/}*_spec.rb833KNAPSACK_LOG_LEVEL: debug834KNAPSACK_REPORT_PATH: knapsack/rspec-ee_integration_pg13_1_6_report.json835FLAKY_RSPEC_SUITE_REPORT_PATH: rspec/flaky/report-suite.json836FLAKY_RSPEC_REPORT_PATH: rspec/flaky/all_rspec-ee_integration_pg13_1_6_report.json837NEW_FLAKY_RSPEC_REPORT_PATH: rspec/flaky/new_rspec-ee_integration_pg13_1_6_report.json838SKIPPED_FLAKY_TESTS_REPORT_PATH: rspec/flaky/skipped_flaky_tests_rspec-ee_integration_pg13_1_6_report.txt839CRYSTALBALL: 840Knapsack node specs:841ee/spec/controllers/projects/merge_requests_controller_spec.rb842ee/spec/requests/git_http_geo_spec.rb843ee/spec/requests/api/issues_spec.rb844ee/spec/mailers/notify_spec.rb845ee/spec/requests/api/wikis_spec.rb846ee/spec/requests/api/scim/instance_scim_spec.rb847ee/spec/requests/api/merge_request_approvals_spec.rb848ee/spec/requests/api/discussions_spec.rb849ee/spec/requests/groups/group_members_controller_spec.rb850ee/spec/requests/api/vulnerability_exports_spec.rb851ee/spec/requests/api/internal/base_spec.rb852ee/spec/requests/git_http_spec.rb853ee/spec/requests/api/graphql/group_query_spec.rb854ee/spec/controllers/groups/audit_events_controller_spec.rb855ee/spec/requests/api/group_hooks_spec.rb856ee/spec/requests/api/epic_boards_spec.rb857ee/spec/requests/api/graphql/compliance_management/merge_requests/compliance_violations_spec.rb858ee/spec/controllers/groups/billings_controller_spec.rb859ee/spec/controllers/groups/analytics/tasks_by_type_controller_spec.rb860ee/spec/requests/smartcard_controller_spec.rb861ee/spec/controllers/admin/clusters_controller_spec.rb862ee/spec/requests/ee/registrations_controller_spec.rb863ee/spec/requests/api/graphql/iteration_spec.rb864ee/spec/controllers/projects/feature_flag_issues_controller_spec.rb865ee/spec/requests/api/project_clusters_spec.rb866ee/spec/requests/api/boards_spec.rb867ee/spec/requests/api/audit_events_spec.rb868ee/spec/requests/api/todos_spec.rb869ee/spec/controllers/projects/deploy_keys_controller_spec.rb870ee/spec/controllers/groups/iterations_controller_spec.rb871ee/spec/requests/projects/analytics/cycle_analytics/stages_controller_spec.rb872ee/spec/requests/api/analytics/code_review_analytics_spec.rb873ee/spec/requests/api/graphql/group/labels_query_spec.rb874ee/spec/controllers/oauth/geo_auth_controller_spec.rb875ee/spec/controllers/ee/registrations/welcome_controller_spec.rb876ee/spec/requests/api/graphql/project/requirements_management/test_reports_spec.rb877ee/spec/requests/api/graphql/mutations/security/finding/revert_to_detected_spec.rb878ee/spec/controllers/admin/dev_ops_report_controller_spec.rb879ee/spec/requests/api/group_variables_spec.rb880ee/spec/controllers/ee/dashboard/projects_controller_spec.rb881ee/spec/requests/api/graphql/projects/compliance_frameworks_spec.rb882ee/spec/controllers/groups/analytics/cycle_analytics_controller_spec.rb883ee/spec/requests/api/graphql/project/pipeline/security_report_finding_spec.rb884ee/spec/requests/api/graphql/gitlab_subscriptions/preview_billable_user_change_spec.rb885ee/spec/requests/api/protected_tags_spec.rb886ee/spec/mailers/ee/emails/admin_notification_spec.rb887ee/spec/controllers/projects/iterations_controller_spec.rb888ee/spec/requests/projects/requirements_management/requirements_controller_spec.rb889ee/spec/requests/groups/protected_environments_controller_spec.rb890ee/spec/requests/api/graphql/project/environments_spec.rb891ee/spec/requests/api/graphql/mutations/issues/set_weight_spec.rb892ee/spec/requests/api/graphql/namespace/compliance_frameworks_spec.rb893ee/spec/controllers/projects/branches_controller_spec.rb894ee/spec/requests/api/graphql/audit_events/streaming/headers/create_spec.rb895ee/spec/requests/api/graphql/mutations/dast/profiles/run_spec.rb896ee/spec/requests/api/graphql/namespace/projects_spec.rb897ee/spec/requests/api/graphql/project/issue_status_counts_spec.rb898ee/spec/controllers/ee/groups/usage_quotas_controller_spec.rb899ee/spec/controllers/groups/scim_oauth_controller_spec.rb900ee/spec/requests/api/graphql/project/incident_management/escalation_policies_spec.rb901ee/spec/requests/api/graphql/mutations/issues/set_epic_spec.rb902ee/spec/requests/groups/analytics/devops_adoption_controller_spec.rb903ee/spec/mailers/emails/merge_commits_spec.rb904ee/spec/requests/api/graphql/product_analytics/dashboards_spec.rb905ee/spec/requests/api/graphql/project/branch_rules/external_status_checks_spec.rb906ee/spec/requests/api/graphql/project/pipeline/security_report_findings_spec.rb907ee/spec/requests/api/graphql/project/requirements_management/requirement_counts_spec.rb908ee/spec/requests/api/graphql/ci/catalog/resources_spec.rb909ee/spec/requests/api/graphql/project/dast_scanner_profiles_spec.rb910ee/spec/controllers/projects/pages_controller_spec.rb911ee/spec/requests/api/graphql/mutations/users/abuse/namespace_bans/destroy_spec.rb912ee/spec/requests/api/graphql/mutations/boards/lists/update_limit_metrics_spec.rb913ee/spec/requests/api/graphql/audit_events/streaming/event_type_filters/delete_spec.rb914ee/spec/controllers/projects/settings/integrations_controller_spec.rb915ee/spec/controllers/admin/users_controller_spec.rb916ee/spec/requests/api/graphql/issue/issue_spec.rb917ee/spec/requests/api/graphql/group/epic/epic_ancestors_spec.rb918ee/spec/requests/api/graphql/iterations/cadences_spec.rb919ee/spec/requests/api/graphql/ci/runners_spec.rb920ee/spec/requests/api/graphql/mutations/boards/epic_boards/destroy_spec.rb921ee/spec/requests/registrations/project_creation_spec.rb922ee/spec/requests/api/integrations/slack/events_spec.rb923ee/spec/requests/api/graphql/mutations/analytics/devops_adoption/enabled_namespaces/bulk_enable_spec.rb924ee/spec/controllers/groups/ldaps_controller_spec.rb925ee/spec/requests/api/helm_packages_spec.rb926ee/spec/requests/api/graphql/project/repository_spec.rb927ee/spec/requests/api/graphql/mutations/requirements_management/export_requirements_spec.rb928ee/spec/requests/api/graphql/boards/epic_lists/update_spec.rb929ee/spec/requests/api/rubygem_packages_spec.rb930ee/spec/requests/api/ci/runner/jobs_put_spec.rb931ee/spec/requests/api/integrations/slack/options_spec.rb932ee/spec/requests/api/graphql/mutations/gitlab_subscriptions/activate_spec.rb933ee/spec/controllers/projects/iteration_cadences_controller_spec.rb934ee/spec/controllers/ee/projects/merge_requests/content_controller_spec.rb935ee/spec/controllers/security/vulnerabilities_controller_spec.rb936ee/spec/mailers/ee/emails/issues_spec.rb937ee/spec/mailers/emails/group_memberships_spec.rb938ee/spec/controllers/ee/groups/settings/ci_cd_controller_spec.rb939ee/spec/controllers/country_states_controller_spec.rb940ee/spec/controllers/ee/admin/sessions_controller_spec.rb941ee/spec/controllers/profiles/billings_controller_spec.rb942ee/spec/requests/api/graphql/mutations/app_sec/fuzzing/api/ci_configuration/create_spec.rb943ee/spec/controllers/oauth/applications_controller_spec.rb944ee/spec/mailers/emails/user_cap_spec.rb945ee/spec/controllers/admin/applications_controller_spec.rb946ee/spec/requests/api/search_spec.rb947Filter specs:948Running specs:949Running all node tests without filter950ee/spec/controllers/projects/merge_requests_controller_spec.rb951ee/spec/requests/git_http_geo_spec.rb952ee/spec/requests/api/issues_spec.rb953ee/spec/mailers/notify_spec.rb954ee/spec/requests/api/wikis_spec.rb955ee/spec/requests/api/scim/instance_scim_spec.rb956ee/spec/requests/api/merge_request_approvals_spec.rb957ee/spec/requests/api/discussions_spec.rb958ee/spec/requests/groups/group_members_controller_spec.rb959ee/spec/requests/api/vulnerability_exports_spec.rb960ee/spec/requests/api/internal/base_spec.rb961ee/spec/requests/git_http_spec.rb962ee/spec/requests/api/graphql/group_query_spec.rb963ee/spec/controllers/groups/audit_events_controller_spec.rb964ee/spec/requests/api/group_hooks_spec.rb965ee/spec/requests/api/epic_boards_spec.rb966ee/spec/requests/api/graphql/compliance_management/merge_requests/compliance_violations_spec.rb967ee/spec/controllers/groups/billings_controller_spec.rb968ee/spec/controllers/groups/analytics/tasks_by_type_controller_spec.rb969ee/spec/requests/smartcard_controller_spec.rb970ee/spec/controllers/admin/clusters_controller_spec.rb971ee/spec/requests/ee/registrations_controller_spec.rb972ee/spec/requests/api/graphql/iteration_spec.rb973ee/spec/controllers/projects/feature_flag_issues_controller_spec.rb974ee/spec/requests/api/project_clusters_spec.rb975ee/spec/requests/api/boards_spec.rb976ee/spec/requests/api/audit_events_spec.rb977ee/spec/requests/api/todos_spec.rb978ee/spec/controllers/projects/deploy_keys_controller_spec.rb979ee/spec/controllers/groups/iterations_controller_spec.rb980ee/spec/requests/projects/analytics/cycle_analytics/stages_controller_spec.rb981ee/spec/requests/api/analytics/code_review_analytics_spec.rb982ee/spec/requests/api/graphql/group/labels_query_spec.rb983ee/spec/controllers/oauth/geo_auth_controller_spec.rb984ee/spec/controllers/ee/registrations/welcome_controller_spec.rb985ee/spec/requests/api/graphql/project/requirements_management/test_reports_spec.rb986ee/spec/requests/api/graphql/mutations/security/finding/revert_to_detected_spec.rb987ee/spec/controllers/admin/dev_ops_report_controller_spec.rb988ee/spec/requests/api/group_variables_spec.rb989ee/spec/controllers/ee/dashboard/projects_controller_spec.rb990ee/spec/requests/api/graphql/projects/compliance_frameworks_spec.rb991ee/spec/controllers/groups/analytics/cycle_analytics_controller_spec.rb992ee/spec/requests/api/graphql/project/pipeline/security_report_finding_spec.rb993ee/spec/requests/api/graphql/gitlab_subscriptions/preview_billable_user_change_spec.rb994ee/spec/requests/api/protected_tags_spec.rb995ee/spec/mailers/ee/emails/admin_notification_spec.rb996ee/spec/controllers/projects/iterations_controller_spec.rb997ee/spec/requests/projects/requirements_management/requirements_controller_spec.rb998ee/spec/requests/groups/protected_environments_controller_spec.rb999ee/spec/requests/api/graphql/project/environments_spec.rb1000ee/spec/requests/api/graphql/mutations/issues/set_weight_spec.rb1001ee/spec/requests/api/graphql/namespace/compliance_frameworks_spec.rb1002ee/spec/controllers/projects/branches_controller_spec.rb1003ee/spec/requests/api/graphql/audit_events/streaming/headers/create_spec.rb1004ee/spec/requests/api/graphql/mutations/dast/profiles/run_spec.rb1005ee/spec/requests/api/graphql/namespace/projects_spec.rb1006ee/spec/requests/api/graphql/project/issue_status_counts_spec.rb1007ee/spec/controllers/ee/groups/usage_quotas_controller_spec.rb1008ee/spec/controllers/groups/scim_oauth_controller_spec.rb1009ee/spec/requests/api/graphql/project/incident_management/escalation_policies_spec.rb1010ee/spec/requests/api/graphql/mutations/issues/set_epic_spec.rb1011ee/spec/requests/groups/analytics/devops_adoption_controller_spec.rb1012ee/spec/mailers/emails/merge_commits_spec.rb1013ee/spec/requests/api/graphql/product_analytics/dashboards_spec.rb1014ee/spec/requests/api/graphql/project/branch_rules/external_status_checks_spec.rb1015ee/spec/requests/api/graphql/project/pipeline/security_report_findings_spec.rb1016ee/spec/requests/api/graphql/project/requirements_management/requirement_counts_spec.rb1017ee/spec/requests/api/graphql/ci/catalog/resources_spec.rb1018ee/spec/requests/api/graphql/project/dast_scanner_profiles_spec.rb1019ee/spec/controllers/projects/pages_controller_spec.rb1020ee/spec/requests/api/graphql/mutations/users/abuse/namespace_bans/destroy_spec.rb1021ee/spec/requests/api/graphql/mutations/boards/lists/update_limit_metrics_spec.rb1022ee/spec/requests/api/graphql/audit_events/streaming/event_type_filters/delete_spec.rb1023ee/spec/controllers/projects/settings/integrations_controller_spec.rb1024ee/spec/controllers/admin/users_controller_spec.rb1025ee/spec/requests/api/graphql/issue/issue_spec.rb1026ee/spec/requests/api/graphql/group/epic/epic_ancestors_spec.rb1027ee/spec/requests/api/graphql/iterations/cadences_spec.rb1028ee/spec/requests/api/graphql/ci/runners_spec.rb1029ee/spec/requests/api/graphql/mutations/boards/epic_boards/destroy_spec.rb1030ee/spec/requests/registrations/project_creation_spec.rb1031ee/spec/requests/api/integrations/slack/events_spec.rb1032ee/spec/requests/api/graphql/mutations/analytics/devops_adoption/enabled_namespaces/bulk_enable_spec.rb1033ee/spec/controllers/groups/ldaps_controller_spec.rb1034ee/spec/requests/api/helm_packages_spec.rb1035ee/spec/requests/api/graphql/project/repository_spec.rb1036ee/spec/requests/api/graphql/mutations/requirements_management/export_requirements_spec.rb1037ee/spec/requests/api/graphql/boards/epic_lists/update_spec.rb1038ee/spec/requests/api/rubygem_packages_spec.rb1039ee/spec/requests/api/ci/runner/jobs_put_spec.rb1040ee/spec/requests/api/integrations/slack/options_spec.rb1041ee/spec/requests/api/graphql/mutations/gitlab_subscriptions/activate_spec.rb1042ee/spec/controllers/projects/iteration_cadences_controller_spec.rb1043ee/spec/controllers/ee/projects/merge_requests/content_controller_spec.rb1044ee/spec/controllers/security/vulnerabilities_controller_spec.rb1045ee/spec/mailers/ee/emails/issues_spec.rb1046ee/spec/mailers/emails/group_memberships_spec.rb1047ee/spec/controllers/ee/groups/settings/ci_cd_controller_spec.rb1048ee/spec/controllers/country_states_controller_spec.rb1049ee/spec/controllers/ee/admin/sessions_controller_spec.rb1050ee/spec/controllers/profiles/billings_controller_spec.rb1051ee/spec/requests/api/graphql/mutations/app_sec/fuzzing/api/ci_configuration/create_spec.rb1052ee/spec/controllers/oauth/applications_controller_spec.rb1053ee/spec/mailers/emails/user_cap_spec.rb1054ee/spec/controllers/admin/applications_controller_spec.rb1055ee/spec/requests/api/search_spec.rb1056Running all node tests without filter1057Running all node tests without filter1058Running command: bundle exec rspec -Ispec -rspec_helper --color --failure-exit-code 1 --error-exit-code 2 --format documentation --format RspecJunitFormatter --out rspec/junit_rspec.xml --tag ~quarantine --tag ~level:background_migration --default-path {ee -- ee/spec/controllers/projects/merge_requests_controller_spec.rb ee/spec/requests/git_http_geo_spec.rb ee/spec/requests/api/issues_spec.rb ee/spec/mailers/notify_spec.rb ee/spec/requests/api/wikis_spec.rb ee/spec/requests/api/scim/instance_scim_spec.rb ee/spec/requests/api/merge_request_approvals_spec.rb ee/spec/requests/api/discussions_spec.rb ee/spec/requests/groups/group_members_controller_spec.rb ee/spec/requests/api/vulnerability_exports_spec.rb ee/spec/requests/api/internal/base_spec.rb ee/spec/requests/git_http_spec.rb ee/spec/requests/api/graphql/group_query_spec.rb ee/spec/controllers/groups/audit_events_controller_spec.rb ee/spec/requests/api/group_hooks_spec.rb ee/spec/requests/api/epic_boards_spec.rb ee/spec/requests/api/graphql/compliance_management/merge_requests/compliance_violations_spec.rb ee/spec/controllers/groups/billings_controller_spec.rb ee/spec/controllers/groups/analytics/tasks_by_type_controller_spec.rb ee/spec/requests/smartcard_controller_spec.rb ee/spec/controllers/admin/clusters_controller_spec.rb ee/spec/requests/ee/registrations_controller_spec.rb ee/spec/requests/api/graphql/iteration_spec.rb ee/spec/controllers/projects/feature_flag_issues_controller_spec.rb ee/spec/requests/api/project_clusters_spec.rb ee/spec/requests/api/boards_spec.rb ee/spec/requests/api/audit_events_spec.rb ee/spec/requests/api/todos_spec.rb ee/spec/controllers/projects/deploy_keys_controller_spec.rb ee/spec/controllers/groups/iterations_controller_spec.rb ee/spec/requests/projects/analytics/cycle_analytics/stages_controller_spec.rb ee/spec/requests/api/analytics/code_review_analytics_spec.rb ee/spec/requests/api/graphql/group/labels_query_spec.rb ee/spec/controllers/oauth/geo_auth_controller_spec.rb ee/spec/controllers/ee/registrations/welcome_controller_spec.rb ee/spec/requests/api/graphql/project/requirements_management/test_reports_spec.rb ee/spec/requests/api/graphql/mutations/security/finding/revert_to_detected_spec.rb ee/spec/controllers/admin/dev_ops_report_controller_spec.rb ee/spec/requests/api/group_variables_spec.rb ee/spec/controllers/ee/dashboard/projects_controller_spec.rb ee/spec/requests/api/graphql/projects/compliance_frameworks_spec.rb ee/spec/controllers/groups/analytics/cycle_analytics_controller_spec.rb ee/spec/requests/api/graphql/project/pipeline/security_report_finding_spec.rb ee/spec/requests/api/graphql/gitlab_subscriptions/preview_billable_user_change_spec.rb ee/spec/requests/api/protected_tags_spec.rb ee/spec/mailers/ee/emails/admin_notification_spec.rb ee/spec/controllers/projects/iterations_controller_spec.rb ee/spec/requests/projects/requirements_management/requirements_controller_spec.rb ee/spec/requests/groups/protected_environments_controller_spec.rb ee/spec/requests/api/graphql/project/environments_spec.rb ee/spec/requests/api/graphql/mutations/issues/set_weight_spec.rb ee/spec/requests/api/graphql/namespace/compliance_frameworks_spec.rb ee/spec/controllers/projects/branches_controller_spec.rb ee/spec/requests/api/graphql/audit_events/streaming/headers/create_spec.rb ee/spec/requests/api/graphql/mutations/dast/profiles/run_spec.rb ee/spec/requests/api/graphql/namespace/projects_spec.rb ee/spec/requests/api/graphql/project/issue_status_counts_spec.rb ee/spec/controllers/ee/groups/usage_quotas_controller_spec.rb ee/spec/controllers/groups/scim_oauth_controller_spec.rb ee/spec/requests/api/graphql/project/incident_management/escalation_policies_spec.rb ee/spec/requests/api/graphql/mutations/issues/set_epic_spec.rb ee/spec/requests/groups/analytics/devops_adoption_controller_spec.rb ee/spec/mailers/emails/merge_commits_spec.rb ee/spec/requests/api/graphql/product_analytics/dashboards_spec.rb ee/spec/requests/api/graphql/project/branch_rules/external_status_checks_spec.rb ee/spec/requests/api/graphql/project/pipeline/security_report_findings_spec.rb ee/spec/requests/api/graphql/project/requirements_management/requirement_counts_spec.rb ee/spec/requests/api/graphql/ci/catalog/resources_spec.rb ee/spec/requests/api/graphql/project/dast_scanner_profiles_spec.rb ee/spec/controllers/projects/pages_controller_spec.rb ee/spec/requests/api/graphql/mutations/users/abuse/namespace_bans/destroy_spec.rb ee/spec/requests/api/graphql/mutations/boards/lists/update_limit_metrics_spec.rb ee/spec/requests/api/graphql/audit_events/streaming/event_type_filters/delete_spec.rb ee/spec/controllers/projects/settings/integrations_controller_spec.rb ee/spec/controllers/admin/users_controller_spec.rb ee/spec/requests/api/graphql/issue/issue_spec.rb ee/spec/requests/api/graphql/group/epic/epic_ancestors_spec.rb ee/spec/requests/api/graphql/iterations/cadences_spec.rb ee/spec/requests/api/graphql/ci/runners_spec.rb ee/spec/requests/api/graphql/mutations/boards/epic_boards/destroy_spec.rb ee/spec/requests/registrations/project_creation_spec.rb ee/spec/requests/api/integrations/slack/events_spec.rb ee/spec/requests/api/graphql/mutations/analytics/devops_adoption/enabled_namespaces/bulk_enable_spec.rb ee/spec/controllers/groups/ldaps_controller_spec.rb ee/spec/requests/api/helm_packages_spec.rb ee/spec/requests/api/graphql/project/repository_spec.rb ee/spec/requests/api/graphql/mutations/requirements_management/export_requirements_spec.rb ee/spec/requests/api/graphql/boards/epic_lists/update_spec.rb ee/spec/requests/api/rubygem_packages_spec.rb ee/spec/requests/api/ci/runner/jobs_put_spec.rb ee/spec/requests/api/integrations/slack/options_spec.rb ee/spec/requests/api/graphql/mutations/gitlab_subscriptions/activate_spec.rb ee/spec/controllers/projects/iteration_cadences_controller_spec.rb ee/spec/controllers/ee/projects/merge_requests/content_controller_spec.rb ee/spec/controllers/security/vulnerabilities_controller_spec.rb ee/spec/mailers/ee/emails/issues_spec.rb ee/spec/mailers/emails/group_memberships_spec.rb ee/spec/controllers/ee/groups/settings/ci_cd_controller_spec.rb ee/spec/controllers/country_states_controller_spec.rb ee/spec/controllers/ee/admin/sessions_controller_spec.rb ee/spec/controllers/profiles/billings_controller_spec.rb ee/spec/requests/api/graphql/mutations/app_sec/fuzzing/api/ci_configuration/create_spec.rb ee/spec/controllers/oauth/applications_controller_spec.rb ee/spec/mailers/emails/user_cap_spec.rb ee/spec/controllers/admin/applications_controller_spec.rb ee/spec/requests/api/search_spec.rbKnapsack report generator started!1059warning: parser/current is loading parser/ruby30, which recognizes 3.0.5-compliant syntax, but you are running 3.0.6.1061Run options: exclude {:quarantine=>true, :level=>"background_migration"}1062Test environment set up in 0.488590322 seconds1063Projects::MergeRequestsController1064 PUT update1065 when the merge request requires approval1066 behaves like update invalid issuable1067 when updating causes conflicts1068 renders edit when format is html1069 renders json error message when format is json1070 when updating an invalid issuable1071 renders edit when merge request is invalid1072 overriding approvers per MR1073 enabled1074 updates approvals1075 does not allow approvels before merge lower than the project setting1076 creates rules1077 disabled1078 does not update approvals_before_merge1079 does not update approver_ids1080 does not update approver_group_ids1081 does not create approval rules1082 when the MR targets the project1083 behaves like approvals_before_merge param1084 approvals_before_merge not set for the existing MR1085 when it is less than the one in the target project1086 sets the param to the sames as the project1087 updates the merge request1088 when it is equal to the one in the target project1089 sets the param to the same as the project1090 updates the merge request1091 when it is greater than the one in the target project1092 saves the param in the merge request1093 updates the merge request1094 approvals_before_merge set for the existing MR1095 when it is not set1096 does not change the merge request1097 updates the merge request1098 when it is less than the one in the target project1099 sets the param to the same as the target project1100 updates the merge request1101 when it is equal to the one in the target project1102 sets the param to the same as the target project1103 updates the merge request1104 when it is greater than the one in the target project1105 saves the param in the merge request1106 updates the merge request1107 when the project is a fork1108 when the MR target upstream1109 behaves like approvals_before_merge param1110 approvals_before_merge not set for the existing MR1111 when it is less than the one in the target project1112 sets the param to the sames as the project1113 updates the merge request1114 when it is equal to the one in the target project1115 sets the param to the same as the project1116 updates the merge request1117 when it is greater than the one in the target project1118 saves the param in the merge request1119 updates the merge request1120 approvals_before_merge set for the existing MR1121 when it is not set1122 does not change the merge request1123 updates the merge request1124 when it is less than the one in the target project1125 sets the param to the same as the target project1126 updates the merge request1127 when it is equal to the one in the target project1128 sets the param to the same as the target project1129 updates the merge request1130 when it is greater than the one in the target project1131 saves the param in the merge request1132 updates the merge request1133 when the MR target the fork1134 behaves like approvals_before_merge param1135 approvals_before_merge not set for the existing MR1136 when it is less than the one in the target project1137 sets the param to the sames as the project1138 updates the merge request1139 when it is equal to the one in the target project1140 sets the param to the same as the project1141 updates the merge request1142 when it is greater than the one in the target project1143 saves the param in the merge request1144 updates the merge request1145 approvals_before_merge set for the existing MR1146 when it is not set1147 does not change the merge request1148 updates the merge request1149 when it is less than the one in the target project1150 sets the param to the same as the target project1151 updates the merge request1152 when it is equal to the one in the target project1153 sets the param to the same as the target project1154 updates the merge request1155 when it is greater than the one in the target project1156 saves the param in the merge request1157 updates the merge request1158 POST #rebase1159 approvals pending1160 returns 2001161 GET #edit1162 default templates1163 when a merge request description has content1164 does not select a default template1165 when a merge request description is blank1166 when a default template does not exist in the repository1167 does not select a default template1168 when a default template exists in the repository1169 does not select a default template1170 GET #dependency_scanning_reports1171 behaves like pending pipeline response1172 when pipeline is pending1173 sends polling interval1174 returns 204 HTTP status1175 behaves like comparable report1176 when comparison is being processed1177 sends polling interval1178 returns 204 HTTP status1179 when comparison is done1180 does not send polling interval1181 returns 200 HTTP status1182 when user created corrupted reports1183 does not send polling interval1184 returns 400 HTTP status1185 behaves like a security resource1186 public project with public builds1187 restricts access from signed out users1188 restricts access from non-members1189 restricts access from guests1190 GET #container_scanning_reports1191 behaves like pending pipeline response1192 when pipeline is pending1193 sends polling interval1194 returns 204 HTTP status1195 behaves like comparable report1196 when comparison is being processed1197 sends polling interval1198 returns 204 HTTP status1199 when comparison is done1200 does not send polling interval1201 returns 200 HTTP status1202 when user created corrupted reports1203 does not send polling interval1204 returns 400 HTTP status1205 behaves like a security resource1206 public project with public builds1207 restricts access from signed out users1208 restricts access from non-members1209 restricts access from guests1210 GET #sast_reports1211 behaves like pending pipeline response1212 when pipeline is pending1213 sends polling interval1214 returns 204 HTTP status1215 behaves like comparable report1216 when comparison is being processed1217 sends polling interval1218 returns 204 HTTP status1219 when comparison is done1220 does not send polling interval1221 returns 200 HTTP status1222 when user created corrupted reports1223 does not send polling interval1224 returns 400 HTTP status1225 behaves like a security resource1226 public project with public builds1227 restricts access from signed out users1228 restricts access from non-members1229 restricts access from guests1230 GET #coverage_fuzzing_reports1231 behaves like pending pipeline response1232 when pipeline is pending1233 sends polling interval1234 returns 204 HTTP status1235 behaves like comparable report1236 when comparison is being processed1237 sends polling interval1238 returns 204 HTTP status1239 when comparison is done1240 does not send polling interval1241 returns 200 HTTP status1242 when user created corrupted reports1243 does not send polling interval1244 returns 400 HTTP status1245 behaves like a security resource1246 public project with public builds1247 restricts access from signed out users1248 restricts access from non-members1249 restricts access from guests1250 GET #api_fuzzing_reports1251 behaves like pending pipeline response1252 when pipeline is pending1253 sends polling interval1254 returns 204 HTTP status1255 behaves like comparable report1256 when comparison is being processed1257 sends polling interval1258 returns 204 HTTP status1259 when comparison is done1260 does not send polling interval1261 returns 200 HTTP status1262 when user created corrupted reports1263 does not send polling interval1264 returns 400 HTTP status1265 behaves like a security resource1266 public project with public builds1267 restricts access from signed out users1268 restricts access from non-members1269 restricts access from guests1270 GET #secret_detection_reports1271 behaves like pending pipeline response1272 when pipeline is pending1273 sends polling interval1274 returns 204 HTTP status1275 behaves like comparable report1276 when comparison is being processed1277 sends polling interval1278 returns 204 HTTP status1279 when comparison is done1280 does not send polling interval1281 returns 200 HTTP status1282 when user created corrupted reports1283 does not send polling interval1284 returns 400 HTTP status1285 behaves like a security resource1286 public project with public builds1287 restricts access from signed out users1288 restricts access from non-members1289 restricts access from guests1290 GET #dast_reports1291 behaves like pending pipeline response1292 when pipeline is pending1293 sends polling interval1294 returns 204 HTTP status1295 behaves like comparable report1296 when comparison is being processed1297 sends polling interval1298 returns 204 HTTP status1299 when comparison is done1300 does not send polling interval1301 returns 200 HTTP status1302 when user created corrupted reports1303 does not send polling interval1304 returns 400 HTTP status1305 behaves like a security resource1306 public project with public builds1307 restricts access from signed out users1308 restricts access from non-members1309 restricts access from guests1310 GET #license_scanning_reports1311 when the license_scanning_sbom_scanner feature flag is false1312 behaves like license scanning report comparison1313 when the report is being parsed1314 returns 204 HTTP status1315 when comparison is being processed1316 sends polling interval1317 returns 204 HTTP status1318 when comparison is done1319 does not send polling interval1320 returns 200 HTTP status1321 when user created corrupted test reports1322 does not send polling interval1323 returns 400 HTTP status1324 when a user is authorized to read the licenses1325 returns 200 HTTP status1326 when license_scanning feature is disabled1327 returns 404 status1328 behaves like authorize read pipeline1329 public project with private builds1330 restricts access to signed out users1331 restricts access to other users1332 when the license_scanning_sbom_scanner feature flag is true1333 behaves like license scanning report comparison1334 when the report is being parsed1335 returns 204 HTTP status1336 when comparison is being processed1337 sends polling interval1338 returns 204 HTTP status1339 when comparison is done1340 does not send polling interval1341 returns 200 HTTP status1342 when user created corrupted test reports1343 does not send polling interval1344 returns 400 HTTP status1345 when a user is authorized to read the licenses1346 returns 200 HTTP status1347 when license_scanning feature is disabled1348 returns 404 status1349 behaves like authorize read pipeline1350 public project with private builds1351 restricts access to signed out users1352 restricts access to other users1353 GET #license_scanning_reports_collapsed1354 when the license_scanning_sbom_scanner feature flag is false1355 behaves like license scanning report comparison1356 when the report is being parsed1357 returns 204 HTTP status1358 when comparison is being processed1359 sends polling interval1360 returns 204 HTTP status1361 when comparison is done1362 does not send polling interval1363 returns 200 HTTP status1364 when user created corrupted test reports1365 does not send polling interval1366 returns 400 HTTP status1367 when a user is authorized to read the licenses1368 returns 200 HTTP status1369 when license_scanning feature is disabled1370 returns 404 status1371 behaves like authorize read pipeline1372 public project with private builds1373 restricts access to signed out users1374 restricts access to other users1375 when the license_scanning_sbom_scanner feature flag is true1376 behaves like license scanning report comparison1377 when the report is being parsed1378 returns 204 HTTP status1379 when comparison is being processed1380 sends polling interval1381 returns 204 HTTP status1382 when comparison is done1383 does not send polling interval1384 returns 200 HTTP status1385 when user created corrupted test reports1386 does not send polling interval1387 returns 400 HTTP status1388 when a user is authorized to read the licenses1389 returns 200 HTTP status1390 when license_scanning feature is disabled1391 returns 404 status1392 behaves like authorize read pipeline1393 public project with private builds1394 restricts access to signed out users1395 restricts access to other users1396 GET #metrics_reports1397 behaves like comparable report1398 when comparison is being processed1399 sends polling interval1400 returns 204 HTTP status1401 when comparison is done1402 does not send polling interval1403 returns 200 HTTP status1404 when user created corrupted reports1405 does not send polling interval1406 returns 400 HTTP status1407 behaves like authorize read pipeline1408 public project with private builds1409 restricts access to signed out users1410 restricts access to other users1411 behaves like DescriptionDiffActions1413 when license is available1414 GET description_diff1415 returns the diff with the previous version1416 returns the diff with the previous version of the specified start_version_id1417 when description version is from another issuable1418 returns 4041419 when start_version_id is from another issuable1420 returns 4041421 when start_version_id is deleted1422 returns 4041423 when description version is deleted1424 returns 4041425 DELETE description_diff1426 returns 2001427 when start_version_id is present1428 returns 2001429 when version is already deleted1430 returns 4041431 when user cannot admin issuable1432 returns 4041433 when license is not available1434 GET description_diff1435 returns 4041436 DELETE description_diff1437 returns 4041438Git HTTP requests (Geo)1439 when current node is a secondary1440 GET info_refs1441 git pull1442 when the repository exists1443 but has not successfully synced1444 behaves like a Geo 302 redirect to Primary1445 valid Geo JWT token1446 returns a redirect response1447 when terms are enforced1448 behaves like a Geo 302 redirect to Primary1449 valid Geo JWT token1450 returns a redirect response1451 and has successfully synced1452 behaves like a Geo git request1453 post-dated Geo JWT token1454 is expected to respond with numeric status code unauthorized1455 expired Geo JWT token1456 is expected to respond with numeric status code unauthorized1457 invalid Geo JWT token1458 is expected to respond with numeric status code unauthorized1459 no Geo JWT token1460 is expected to respond with numeric status code unauthorized1461 Geo is unlicensed1462 is expected to respond with numeric status code forbidden1463 behaves like a Geo 200 git request1464 valid Geo JWT token1465 returns an OK response with JSON data1466 when terms are enforced1467 behaves like a Geo git request1468 post-dated Geo JWT token1469 is expected to respond with numeric status code unauthorized1470 expired Geo JWT token1471 is expected to respond with numeric status code unauthorized1472 invalid Geo JWT token1473 is expected to respond with numeric status code unauthorized1474 no Geo JWT token1475 is expected to respond with numeric status code unauthorized1476 Geo is unlicensed1477 is expected to respond with numeric status code forbidden1478 behaves like a Geo 200 git request1479 valid Geo JWT token1480 returns an OK response with JSON data1481 when the repository does not exist1482 behaves like a Geo 302 redirect to Primary1483 valid Geo JWT token1484 returns a redirect response1485 when terms are enforced1486 behaves like a Geo 302 redirect to Primary1487 valid Geo JWT token1488 returns a redirect response1489 when the project does not exist1490 behaves like a Geo 302 redirect to Primary1491 valid Geo JWT token1492 returns a redirect response1493 when terms are enforced1494 behaves like a Geo 302 redirect to Primary1495 valid Geo JWT token1496 returns a redirect response1497 git push1498 behaves like a Geo 302 redirect to Primary1499 valid Geo JWT token1500 returns a redirect response1501 POST git_upload_pack1502 when the repository exists1503 behaves like a Geo git request1504 post-dated Geo JWT token1505 is expected to respond with numeric status code unauthorized1506 expired Geo JWT token1507 is expected to respond with numeric status code unauthorized1508 invalid Geo JWT token1509 is expected to respond with numeric status code unauthorized1510 no Geo JWT token1511 is expected to respond with numeric status code unauthorized1512 Geo is unlicensed1513 is expected to respond with numeric status code forbidden1514 behaves like a Geo 200 git request1515 valid Geo JWT token1516 returns an OK response with JSON data1517 when terms are enforced1518 behaves like a Geo git request1519 post-dated Geo JWT token1520 is expected to respond with numeric status code unauthorized1521 expired Geo JWT token1522 is expected to respond with numeric status code unauthorized1523 invalid Geo JWT token1524 is expected to respond with numeric status code unauthorized1525 no Geo JWT token1526 is expected to respond with numeric status code unauthorized1527 Geo is unlicensed1528 is expected to respond with numeric status code forbidden1529 behaves like a Geo 200 git request1530 valid Geo JWT token1531 returns an OK response with JSON data1532 when the repository does not exist1533 behaves like a Geo 302 redirect to Primary1534 valid Geo JWT token1535 returns a redirect response1536 when terms are enforced1537 behaves like a Geo 302 redirect to Primary1538 valid Geo JWT token1539 returns a redirect response1540 git-lfs1541 Batch API1542 POST /namespace/repo.git/info/lfs/objects/batch1543 operation upload1544 with a valid git-lfs version1545 behaves like a Geo 302 redirect to Primary1546 valid Geo JWT token1547 returns a redirect response1548 with an invalid git-lfs version1549 description: "outdated", version: "git-lfs/2.4.1"1550 that is description: "outdated", version: "git-lfs/2.4.1"1551 is forbidden1552 description: "unknown", version: "git-lfs"1553 that is description: "unknown", version: "git-lfs"1554 is forbidden1555 operation download1556 when the repository exists1557 is handled by the secondary1558 when the repository does not exist1559 behaves like a Geo 302 redirect to Primary1560 valid Geo JWT token1561 returns a redirect response1562 description: "outdated", version: "git-lfs/2.4.1"1563 with an description: "outdated", version: "git-lfs/2.4.1" git-lfs version1564 is handled by the secondary1565 description: "unknown", version: "git-lfs"1566 with an description: "unknown", version: "git-lfs" git-lfs version1567 is handled by the secondary1568 Transfer API1569 GET /namespace/repo.git/gitlab-lfs/objects/<oid>1570 when the repository exists1571 behaves like a Geo 200 git-lfs request1572 valid Geo JWT token1573 returns an OK response with binary data1574 when the repository has been updated1575 is handled by the secondary1576 Locks API1577 description: "create", path: "info/lfs/locks", args: {}1578 POST description: "create", path: "info/lfs/locks", args: {}1579 behaves like a Geo 302 redirect to Primary1580 valid Geo JWT token1581 returns a redirect response1582 description: "verify", path: "info/lfs/locks/verify", args: {}1583 POST description: "verify", path: "info/lfs/locks/verify", args: {}1584 behaves like a Geo 302 redirect to Primary1585 valid Geo JWT token1586 returns a redirect response1587 description: "unlock", path: "info/lfs/locks/1/unlock", args: {:id=>1}1588 POST description: "unlock", path: "info/lfs/locks/1/unlock", args: {:id=>1}1589 behaves like a Geo 302 redirect to Primary1590 valid Geo JWT token1591 returns a redirect response1592 when current node is the primary1593 POST git_receive_pack1594 when HTTP redirected from a secondary node1595 stores the secondary node ID so the internal API post_receive request can generate the replication lag message1596 when proxying an SSH request from a secondary node1597 when gl_id is provided in JWT token1598 but is invalid1599 geo_gl_id: "key-999"1600 returns a 4031601 geo_gl_id: "key-1"1602 returns a 4031603 geo_gl_id: "key-999"1604 returns a 4031605 geo_gl_id: "junk"1606 returns a 4031607 geo_gl_id: "junk-1"1608 returns a 4031609 geo_gl_id: "kkey-1"1610 returns a 4031611 and is valid1612 but the user has no access1613 returns a 4041614 but the user does not have push access1615 returns a 4031616 and the user has push access1617 returns a 2001618 repository does not exist1619 is expected to respond with numeric status code not_found1620 invalid scope1621 invalid scope of Geo JWT token1622 is expected to respond with numeric status code unauthorized1623 returns correct error1624 Geo JWT token scopes for wiki and repository are not interchangeable1625 for a repository but using a wiki scope1626 is expected to respond with numeric status code unauthorized1627 returns correct error1628 for a wiki but using a repository scope1629 is expected to respond with numeric status code unauthorized1630 returns correct error1631 IP allowed settings1632 returns unauthorized error1633 returns success response1634API::Issues1635 GET /issues1636 when authenticated1637 matches V4 response schema1638 blocking issues count1639 returns a blocking issues count of 0 if there are no blocking issues1640 returns a blocking issues count of 1 if there exists a blocking issue1641 filtering by weight1642 returns issues with specific weight1643 returns issues with no weight1644 returns issues with any weight1645 returns issues without specific weight1646 filtering by health status1647 returns issues with specific health_status1648 returns issues with any health_status1649 returns issues with no health_status1650 returns bad request when unsupported value is supplied1651 filtering by assignee_username1652 returns issues with multiple assignees1653 behaves like filtering by epic_id1654 returns issues without epic when epic_id is "None"1655 returns issues with any epic when epic_id is "Any"1656 returns issues with any epic when epic_id is specific1657 filtering by iteration1658 returns issues with specific iteration1659 returns issues with no iteration1660 returns issues with any iteration1661 returns no issues on user dashboard issues list1662 returns issues with a specific iteration title1663 GET /groups/:id/issues1664 avoids N+1 queries with epics1665 avoids N+1 queries with iterations1666 filtering by assignee_username1667 returns issues with multiple assignees1668 behaves like filtering by epic_id1669 returns issues without epic when epic_id is "None"1670 returns issues with any epic when epic_id is "Any"1671 returns issues with any epic when epic_id is specific1672 behaves like exposes epic1673 with epics feature1674 contains epic_iid in response1675 contains epic in response1676 and epic issue is not present1677 exposes epic as nil1678 without epics feature1679 does not contain epic_iid in response1680 does not contain epic_iid in response1681 behaves like exposes iteration1682 with iteration feature1683 contains iteration in response1684 without iterations feature1685 does not contain iteration in response1686 filtering by iteration1687 returns issues with Current iteration1688 GET /projects/:id/issues1689 filtering by assignee_username1690 returns issues with multiple assignees1691 behaves like filtering by epic_id1692 returns issues without epic when epic_id is "None"1693 returns issues with any epic when epic_id is "Any"1694 returns issues with any epic when epic_id is specific1695 on personal project1696 does not contain epic_iid in response1697 on group project1698 behaves like exposes epic1699 with epics feature1700 contains epic_iid in response1701 contains epic in response1702 and epic issue is not present1703 exposes epic as nil1704 without epics feature1705 does not contain epic_iid in response1706 does not contain epic_iid in response1707 behaves like exposes iteration1708 with iteration feature1709 contains iteration in response1710 without iterations feature1711 does not contain iteration in response1712 filtering by iteration1713 returns issues with Current iteration1714 GET /project/:id/issues/:issue_id1715 on personal project1716 does not contain epic_iid in response1717 on group project1718 behaves like exposes epic1719 with epics feature1720 contains epic_iid in response1721 contains epic in response1722 and epic issue is not present1723 exposes epic as nil1724 without epics feature1725 does not contain epic_iid in response1726 does not contain epic_iid in response1727 when specificied issue is of type task1728 returns a not found status code1729 POST /projects/:id/issues1730 creates a new project issue1731 does not allow the creation of an issue of type task1732 behaves like with epic parameter1733 for a group project1734 with epics feature1735 when user can read epics1736 with epic_id parameter1737 sets epic on issue1738 with deprecated epic_iid parameter1739 sets epic on issue1740 when user can not read the epic1741 does not set the epic1742 when user can not admin_issue_relation for the issue1743 returns an error1744 without epics feature1745 does not set epic on issue1746 when both epic_id and epic_iid is used1747 returns an error1748 for a user project1749 does not set epic on issue1750 PUT /projects/:id/issues/:issue_iid to update weight1751 updates an issue with no weight1752 removes a weight from an issue1753 returns 400 if weight is less than minimum weight1754 creates a ResourceWeightEvent1755 does not create a system note1756 adds a note when the weight is changed1757 issuable weights unlicensed1758 ignores the update1759 PUT /projects/:id/issues/:issue_iid to update epic1760 behaves like with epic parameter1761 for a group project1762 with epics feature1763 when user can read epics1764 with epic_id parameter1765 sets epic on issue1766 with deprecated epic_iid parameter1767 sets epic on issue1768 when user can not read the epic1769 does not set the epic1770 when user can not admin_issue_relation for the issue1771 returns an error1772 without epics feature1773 does not set epic on issue1774 when both epic_id and epic_iid is used1775 returns an error1776 for a user project1777 does not set epic on issue1778 PUT /projects/:id/issues/:issue_iid/metric_images/authorize1779 authorizes uploading with workhorse header1780 rejects requests that bypassed gitlab-workhorse1781 when using remote storage1782 when direct upload is enabled1783 responds with status 200, location of file remote store and object details1784 when direct upload is disabled1785 handles as a local file1786 POST /projects/:id/issues/:issue_iid/metric_images1787 user_role: :guest, own_issue: true, expected_status: :unauthorized_upload1788 behaves like unauthorized_upload1789 disallows the upload1790 user_role: :guest, own_issue: false, expected_status: :unauthorized_upload1791 behaves like unauthorized_upload1792 disallows the upload1793 user_role: :reporter, own_issue: true, expected_status: :can_upload_metric_image1794 behaves like can_upload_metric_image1795 creates a new metric image1796 user_role: :reporter, own_issue: false, expected_status: :can_upload_metric_image1797 behaves like can_upload_metric_image1798 creates a new metric image1799 file size too large1800 returns an error1801 object storage enabled1802 uploads to remote storage1803 behaves like can_upload_metric_image1804 creates a new metric image1805 GET /projects/:id/issues/:issue_iid/metric_images1806 user_role: :not_member, own_issue: false, issue_confidential: false, expected_status: :unauthorized_read1807 behaves like unauthorized_read1808 cannot read the metric images1809 user_role: :guest, own_issue: false, issue_confidential: true, expected_status: :unauthorized_read1810 behaves like unauthorized_read1811 cannot read the metric images1812 user_role: :guest, own_issue: true, issue_confidential: false, expected_status: :can_read_metric_image1813 behaves like can_read_metric_image1814 can read the metric images1815 user_role: :guest, own_issue: false, issue_confidential: false, expected_status: :can_read_metric_image1816 behaves like can_read_metric_image1817 can read the metric images1818 user_role: :reporter, own_issue: true, issue_confidential: false, expected_status: :can_read_metric_image1819 behaves like can_read_metric_image1820 can read the metric images1821 user_role: :reporter, own_issue: false, issue_confidential: false, expected_status: :can_read_metric_image1822 behaves like can_read_metric_image1823 can read the metric images1824 PUT /projects/:id/issues/:issue_iid/metric_images/:metric_image_id1825 user_role: :not_member, own_issue: false, issue_confidential: false, expected_status: :unauthorized_update1826 behaves like unauthorized_update1827 cannot delete the metric image1828 user_role: :not_member, own_issue: true, issue_confidential: false, expected_status: :unauthorized_update1829 behaves like unauthorized_update1830 cannot delete the metric image1831 user_role: :not_member, own_issue: true, issue_confidential: true, expected_status: :unauthorized_update1832 behaves like unauthorized_update1833 cannot delete the metric image1834 user_role: :guest, own_issue: false, issue_confidential: true, expected_status: :not_found1835 behaves like not_found1836 cannot delete the metric image1837 user_role: :guest, own_issue: false, issue_confidential: false, expected_status: :unauthorized_update1838 behaves like unauthorized_update1839 cannot delete the metric image1840 user_role: :guest, own_issue: true, issue_confidential: false, expected_status: :can_update_metric_image1841 behaves like can_update_metric_image1842 can update the metric images1843 user_role: :reporter, own_issue: true, issue_confidential: false, expected_status: :can_update_metric_image1844 behaves like can_update_metric_image1845 can update the metric images1846 user_role: :reporter, own_issue: false, issue_confidential: false, expected_status: :can_update_metric_image1847 behaves like can_update_metric_image1848 can update the metric images1849 user has access1850 metric image not found1851 returns an error1852 metric image cannot be updated1853 returns an error1854 DELETE /projects/:id/issues/:issue_iid/metric_images/:metric_image_id1855 user_role: :not_member, own_issue: false, issue_confidential: false, expected_status: :unauthorized_delete1856 behaves like unauthorized_delete1857 cannot delete the metric image1858 user_role: :not_member, own_issue: true, issue_confidential: false, expected_status: :unauthorized_delete1859 behaves like unauthorized_delete1860 cannot delete the metric image1861 user_role: :not_member, own_issue: true, issue_confidential: true, expected_status: :unauthorized_delete1862 behaves like unauthorized_delete1863 cannot delete the metric image1864 user_role: :guest, own_issue: false, issue_confidential: true, expected_status: :not_found1865 behaves like not_found1866 cannot delete the metric image1867 user_role: :guest, own_issue: false, issue_confidential: false, expected_status: :unauthorized_delete1868 behaves like unauthorized_delete1869 cannot delete the metric image1870 user_role: :guest, own_issue: true, issue_confidential: false, expected_status: :can_delete_metric_image1871 behaves like can_delete_metric_image1872 can delete the metric images1873 user_role: :reporter, own_issue: true, issue_confidential: false, expected_status: :can_delete_metric_image1874 behaves like can_delete_metric_image1875 can delete the metric images1876 user_role: :reporter, own_issue: false, issue_confidential: false, expected_status: :can_delete_metric_image1877 behaves like can_delete_metric_image1878 can delete the metric images1879 user has access1880 metric image not found1881 returns an error1882Notify1883 for a project1884 for merge requests1885 that are new with approver1886 contains the approvers list1887 that are approved1888 is sent as the last approver1889 has the correct subject1890 contains the new status1891 contains a link to the merge request1892 contains the names of all of the approvers1893 contains the names of all assignees1894 behaves like a multiple recipients email1895 is sent to the given recipient1896 behaves like an answer to an existing thread with reply-by-email enabled1897 has X-GitLab-Project headers1898 has X-GitLab-*-ID header1899 has X-GitLab-*-IID header if model has iid defined1900 has X-GitLab-Project headers1901 has X-GitLab-*-ID header1902 has X-GitLab-*-IID header if model has iid defined1903 has the characteristics of a threaded reply1904 when reply-by-email is enabled with incoming address with %{key}1905 has a Reply-To header1906 when reply-by-email is enabled with incoming address without %{key}1907 has X-GitLab-Project headers1908 has X-GitLab-*-ID header1909 has X-GitLab-*-IID header if model has iid defined1910 has the characteristics of a threaded reply1911 has a Reply-To header1912 behaves like it should show Gmail Actions View Merge request link1913 is expected to have body including "View Merge request"1914 behaves like it should have Gmail Actions links1915 is expected to have body including "ViewAction"1916 behaves like an unsubscribeable thread1917 has a List-Unsubscribe header in the correct format, and a body link1918 behaves like an unsubscribeable thread with incoming address without %{key}1919 has a List-Unsubscribe header in the correct format, and a body link1920 when merge request has no assignee1921 does not show the assignee1922 that are unapproved1923 is sent as the last unapprover1924 has the correct subject1925 contains the new status1926 contains a link to the merge request1927 contains the names of all of the approvers1928 contains the names of all assignees1929 behaves like a multiple recipients email1930 is sent to the given recipient1931 behaves like an answer to an existing thread with reply-by-email enabled1932 has X-GitLab-Project headers1933 has X-GitLab-*-ID header1934 has X-GitLab-*-IID header if model has iid defined1935 has X-GitLab-Project headers1936 has X-GitLab-*-ID header1937 has X-GitLab-*-IID header if model has iid defined1938 has the characteristics of a threaded reply1939 when reply-by-email is enabled with incoming address with %{key}1940 has a Reply-To header1941 when reply-by-email is enabled with incoming address without %{key}1942 has X-GitLab-Project headers1943 has X-GitLab-*-ID header1944 has X-GitLab-*-IID header if model has iid defined1945 has the characteristics of a threaded reply1946 has a Reply-To header1947 behaves like it should show Gmail Actions View Merge request link1948 is expected to have body including "View Merge request"1949 behaves like it should have Gmail Actions links1950 is expected to have body including "ViewAction"1951 behaves like an unsubscribeable thread1952 has a List-Unsubscribe header in the correct format, and a body link1953 behaves like an unsubscribeable thread with incoming address without %{key}1954 has a List-Unsubscribe header in the correct format, and a body link1955 for merge requests without assignee1956 that are unapproved1957 contains the new status1958 for a group1959 for epics1960 that are new1961 has the correct subject and body1962 contains a link to epic author1963 contains a link to the epic1964 behaves like an epic email starting a new thread with reply-by-email enabled1965 has the characteristics of a threaded email1966 when reply-by-email is enabled with incoming address with %{key}1967 has a Reply-To header1968 when reply-by-email is enabled with incoming address without %{key}1969 has the characteristics of a threaded email1970 has a Reply-To header1971 behaves like it should show Gmail Actions View Epic link1972 is expected to have body including "View Epic"1973 behaves like it should have Gmail Actions links1974 is expected to have body including "ViewAction"1975 behaves like an unsubscribeable thread1976 has a List-Unsubscribe header in the correct format, and a body link1977 behaves like an unsubscribeable thread with incoming address without %{key}1978 has a List-Unsubscribe header in the correct format, and a body link1979 behaves like having group identification headers1980 has specific group headers1981 got deleted before notification1982 does not send email1983 that changed status1984 behaves like epic notifications with reply1985 has the characteristics of a threaded reply1986 has a Reply-To header1987 has the correct subject and body1988 behaves like having group identification headers1989 has specific group headers1990 behaves like it should show Gmail Actions View Epic link1991 is expected to have body including "View Epic"1992 behaves like it should have Gmail Actions links1993 is expected to have body including "ViewAction"1994 behaves like an unsubscribeable thread1995 has a List-Unsubscribe header in the correct format, and a body link1996 behaves like an unsubscribeable thread with incoming address without %{key}1997 has a List-Unsubscribe header in the correct format, and a body link1998 for epic notes1999 behaves like epic notifications with reply2000 has the characteristics of a threaded reply2001 has a Reply-To header2002 has the correct subject and body2003 behaves like having group identification headers2004 has specific group headers2005 behaves like it should show Gmail Actions View Epic link2006 is expected to have body including "View Epic"2007 behaves like it should have Gmail Actions links2008 is expected to have body including "ViewAction"2009 behaves like an unsubscribeable thread2010 has a List-Unsubscribe header in the correct format, and a body link2011 behaves like an unsubscribeable thread with incoming address without %{key}2012 has a List-Unsubscribe header in the correct format, and a body link2013 behaves like a note email2014 is sent to the given recipient as the author2015 contains the message from the note2016 contains a link to note author2017 behaves like it should have Gmail Actions links2018 is expected to have body including "ViewAction"2019 mirror was hard failed2020 has the correct subject and body2021 behaves like an email sent from GitLab2022 has the characteristics of an email sent from GitLab2023 behaves like it should not have Gmail Actions links2024 is expected not to have body including "ViewAction"2025 behaves like a user cannot unsubscribe through footer link2026 does not have a List-Unsubscribe header or a body link2027 mirror was disabled2028 has the correct subject and body2029 behaves like an email sent from GitLab2030 has the characteristics of an email sent from GitLab2031 behaves like it should not have Gmail Actions links2032 is expected not to have body including "ViewAction"2033 behaves like a user cannot unsubscribe through footer link2034 does not have a List-Unsubscribe header or a body link2035 user was deleted2036 does not send email2037 mirror user changed2038 has the correct subject and body2039 behaves like an email sent from GitLab2040 has the characteristics of an email sent from GitLab2041 behaves like it should not have Gmail Actions links2042 is expected not to have body including "ViewAction"2043 behaves like a user cannot unsubscribe through footer link2044 does not have a List-Unsubscribe header or a body link2045 new user was created via saml2046 delivers mail to user email2047 contains all the useful information2048 behaves like an email sent from GitLab2049 has the characteristics of an email sent from GitLab2050 behaves like it should not have Gmail Actions links2051 is expected not to have body including "ViewAction"2052 behaves like a user cannot unsubscribe through footer link2053 does not have a List-Unsubscribe header or a body link2054 behaves like appearance header and footer enabled2055 contains header and footer2056 behaves like appearance header and footer not enabled2057 does not contain header and footer2058API::Wikis2059 GET /groups/:id/wikis2060 when group wiki is disabled2061 when user is guest2062 returns 404 Group Not Found2063 when user is developer2064 returns 403 Forbidden2065 when user is maintainer2066 returns 403 Forbidden2067 when wiki is available only for team members2068 when user is guest2069 returns 404 Group Not Found (PENDING: Temporarily skipped with xcontext)2070 when user is developer2071 return the empty list of wiki pages (PENDING: Temporarily skipped with xcontext)2072 when wiki has pages2073 returns the list of wiki pages without content (PENDING: Temporarily skipped with xcontext)2074 returns the list of wiki pages with content (PENDING: Temporarily skipped with xcontext)2075 when user is maintainer2076 return the empty list of wiki pages (PENDING: Temporarily skipped with xcontext)2077 when wiki has pages2078 returns the list of wiki pages without content (PENDING: Temporarily skipped with xcontext)2079 returns the list of wiki pages with content (PENDING: Temporarily skipped with xcontext)2080 when wiki is available for everyone with access2081 when user is guest2082 returns 404 Group Not Found2083 when user is developer2084 return the empty list of wiki pages2085 when wiki has pages2086 returns the list of wiki pages without content2087 returns the list of wiki pages with content2088 when user is maintainer2089 return the empty list of wiki pages2090 when wiki has pages2091 returns the list of wiki pages without content2092 returns the list of wiki pages with content2093 GET /groups/:id/wikis/:slug2094 when wiki is disabled2095 when user is guest2096 returns 404 Group Not Found2097 when user is developer2098 returns 403 Forbidden2099 when user is maintainer2100 returns 403 Forbidden2101 when wiki is available only for team members2102 when user is guest2103 returns 404 Group Not Found (PENDING: Temporarily skipped with xcontext)2104 when user is developer2105 behaves like returns wiki page2106 example at ./spec/support/shared_examples/lib/wikis_api_examples.rb:54 (PENDING: Temporarily skipped with xcontext)2107 when render param is false2108 behaves like returns wiki page2109 example at ./spec/support/shared_examples/lib/wikis_api_examples.rb:54 (PENDING: Temporarily skipped with xcontext)2110 when render param is true2111 behaves like returns wiki page2112 example at ./spec/support/shared_examples/lib/wikis_api_examples.rb:54 (PENDING: Temporarily skipped with xcontext)2113 when wiki page has versions2114 when version param is not present2115 retrieves the last version (PENDING: Temporarily skipped with xcontext)2116 when version param is set2117 retrieves the specific page version (PENDING: Temporarily skipped with xcontext)2118 when version param is not valid or inexistent2119 behaves like wiki API 404 Wiki Page Not Found2120 returns 404 Wiki Page Not Found (PENDING: Temporarily skipped with xcontext)2121 when page does not exist2122 returns 404 Wiki Page Not Found (PENDING: Temporarily skipped with xcontext)2123 when user is maintainer2124 behaves like returns wiki page2125 example at ./spec/support/shared_examples/lib/wikis_api_examples.rb:54 (PENDING: Temporarily skipped with xcontext)2126 when render param is false2127 behaves like returns wiki page2128 example at ./spec/support/shared_examples/lib/wikis_api_examples.rb:54 (PENDING: Temporarily skipped with xcontext)2129 when render param is true2130 behaves like returns wiki page2131 example at ./spec/support/shared_examples/lib/wikis_api_examples.rb:54 (PENDING: Temporarily skipped with xcontext)2132 when wiki page has versions2133 when version param is not present2134 retrieves the last version (PENDING: Temporarily skipped with xcontext)2135 when version param is set2136 retrieves the specific page version (PENDING: Temporarily skipped with xcontext)2137 when version param is not valid or inexistent2138 behaves like wiki API 404 Wiki Page Not Found2139 returns 404 Wiki Page Not Found (PENDING: Temporarily skipped with xcontext)2140 when page does not exist2141 returns 404 Wiki Page Not Found (PENDING: Temporarily skipped with xcontext)2142 when wiki is available for everyone with access2143 when user is guest2144 returns 404 Group Not Found2145 when user is developer2146 behaves like returns wiki page2147 is expected to eq "Page 5"2148 when render param is false2149 behaves like returns wiki page2150 is expected to eq "Page 6"2151 when render param is true2152 behaves like returns wiki page2153 is expected to eq "Page 7"2154 when wiki page has versions2155 when version param is not present2156 retrieves the last version2157 when version param is set2158 retrieves the specific page version2159 when version param is not valid or inexistent2160 behaves like wiki API 404 Wiki Page Not Found2161 returns 404 Wiki Page Not Found2162 when page does not exist2163 returns 404 Wiki Page Not Found2164 when user is maintainer2165 behaves like returns wiki page2166 is expected to eq "Page 11"2167 when render param is false2168 behaves like returns wiki page2169 is expected to eq "Page 12"2170 when render param is true2171 behaves like returns wiki page2172 is expected to eq "Page 13"2173 when wiki page has versions2174 when version param is not present2175 retrieves the last version2176 when version param is set2177 retrieves the specific page version2178 when version param is not valid or inexistent2179 behaves like wiki API 404 Wiki Page Not Found2180 returns 404 Wiki Page Not Found2181 when page does not exist2182 returns 404 Wiki Page Not Found2183 POST /groups/:id/wikis2184 when wiki is disabled2185 when user is guest2186 returns 404 Group Not Found2187 when user is developer2188 returns 403 Forbidden2189 when user is maintainer2190 returns 403 Forbidden2191 when wiki is available only for team members2192 when user is guest2193 returns 404 Group Not Found (PENDING: Temporarily skipped with xcontext)2194 when user is developer2195 creates the wiki page (PENDING: Temporarily skipped with xcontext)2196 responds with validation error on empty title (PENDING: Temporarily skipped with xcontext)2197 responds with validation error on empty content (PENDING: Temporarily skipped with xcontext)2198 when user is maintainer2199 creates the wiki page (PENDING: Temporarily skipped with xcontext)2200 responds with validation error on empty title (PENDING: Temporarily skipped with xcontext)2201 responds with validation error on empty content (PENDING: Temporarily skipped with xcontext)2202 when wiki is available for everyone with access2203 when user is guest2204 returns 404 Group Not Found2205 when user is developer2206 creates the wiki page2207 responds with validation error on empty title2208 responds with validation error on empty content2209 when user is maintainer2210 creates the wiki page2211 responds with validation error on empty title2212 responds with validation error on empty content2213 PUT /group/:id/wikis/:slug2214 when wiki is disabled2215 when user is guest2216 returns 404 Group Not Found2217 when user is developer2218 returns 403 Forbidden2219 when user is maintainer2220 returns 403 Forbidden2221 when wiki is available only for team members2222 when user is guest2223 returns 404 Group Not Found (PENDING: Temporarily skipped with xcontext)2224 when user is developer2225 updates the wiki page (PENDING: Temporarily skipped with xcontext)2226 updates with wiki with missing title (PENDING: Temporarily skipped with xcontext)2227 updates with wiki with missing content (PENDING: Temporarily skipped with xcontext)2228 updates with wiki with missing format (PENDING: Temporarily skipped with xcontext)2229 when page does not exist2230 returns 404 Wiki Page Not Found (PENDING: Temporarily skipped with xcontext)2231 when user is maintainer2232 updates the wiki page (PENDING: Temporarily skipped with xcontext)2233 updates with wiki with missing title (PENDING: Temporarily skipped with xcontext)2234 updates with wiki with missing content (PENDING: Temporarily skipped with xcontext)2235 updates with wiki with missing format (PENDING: Temporarily skipped with xcontext)2236 when page is not existing2237 returns 404 Wiki Page Not Found (PENDING: Temporarily skipped with xcontext)2238 when wiki is available for everyone with access2239 when user is guest2240 returns 404 Group Not Found2241 when user is developer2242 updates the wiki page2243 updates with wiki with missing title2244 updates with wiki with missing content2245 updates with wiki with missing format2246 when page does not exist2247 returns 404 Wiki Page Not Found2248 when user is maintainer2249 updates the wiki page2250 updates with wiki with missing title2251 updates with wiki with missing content2252 updates with wiki with missing format2253 when page does not exist2254 returns 404 Wiki Page Not Found2255 when user is owner of parent group2256 updates the wiki page2257 updates with wiki with missing title2258 updates with wiki with missing content2259 updates with wiki with missing format2260 DELETE /groups/:id/wikis/:slug2261 when wiki is disabled2262 when user is guest2263 returns 404 Group Not Found2264 when user is developer2265 returns 403 Forbidden2266 when user is maintainer2267 returns 403 Forbidden2268 when wiki is available only for team members2269 when user is guest2270 returns 404 Group Not Found (PENDING: Temporarily skipped with xcontext)2271 when user is developer2272 returns 403 Forbidden (PENDING: Temporarily skipped with xcontext)2273 when user is maintainer2274 returns 204 No Content (PENDING: Temporarily skipped with xcontext)2275 when wiki is available for everyone with access2276 when user is guest2277 returns 404 Group Not Found2278 when user is developer2279 returns 403 Forbidden2280 when user is maintainer2281 returns 204 No Content2282 when page does not exist2283 returns 404 Wiki Page Not Found2284 when user is owner of parent group2285 returns 204 No Content2286 POST /groups/:id/wikis/attachments2287 when wiki is disabled2288 when user is guest2289 returns 404 Group Not Found2290 when user is developer2291 returns 403 Forbidden2292 when user is maintainer2293 returns 403 Forbidden2294 when wiki is available only for team members2295 when user is guest2296 returns 404 Group Not Found (PENDING: Temporarily skipped with xcontext)2297 when user is developer2298 pushes attachment to the wiki repository (PENDING: Temporarily skipped with xcontext)2299 responds with validation error on empty file (PENDING: Temporarily skipped with xcontext)2300 responds with validation error on invalid temp file (PENDING: Temporarily skipped with xcontext)2301 is backward compatible with regular multipart uploads (PENDING: Temporarily skipped with xcontext)2302 when user is maintainer2303 pushes attachment to the wiki repository (PENDING: Temporarily skipped with xcontext)2304 responds with validation error on empty file (PENDING: Temporarily skipped with xcontext)2305 responds with validation error on invalid temp file (PENDING: Temporarily skipped with xcontext)2306 is backward compatible with regular multipart uploads (PENDING: Temporarily skipped with xcontext)2307 when wiki is available for everyone with access2308 when user is guest2309 returns 404 Group Not Found2310 when user is developer2311 pushes attachment to the wiki repository2312 responds with validation error on empty file2313 responds with validation error on invalid temp file2314 is backward compatible with regular multipart uploads2315 when user is maintainer2316 pushes attachment to the wiki repository2317 responds with validation error on empty file2318 responds with validation error on invalid temp file2319 is backward compatible with regular multipart uploads2320API::Scim::InstanceScim2321 # order random2322 when user with an alphanumeric extern_uid2323 behaves like SCIM API endpoints2324 GET api/scim/v2/application/Users2325 responds with paginated users when there is no filter2326 behaves like Not available to SaaS customers2327 on GitLab.com2328 renders not found2329 behaves like Instance level SCIM license required2330 when license is not enabled2331 returns not found error2332 behaves like SCIM token authenticated2333 without token auth2334 responds with 4012335 behaves like SAML SSO must be enabled2336 responds with 403 when instance SAML SSO not enabled2337 when unsupported filters are used2338 responds with an error2339 when existing user matches filter2340 responds with 2002341 sets default values as required by the specification2342 when no user matches filter2343 responds with 2002344 GET api/scim/v2/application/Users/:id2345 responds with 403 when instance SAML SSO not configured2346 behaves like Not available to SaaS customers2347 on GitLab.com2348 renders not found2349 behaves like Instance level SCIM license required2350 when license is not enabled2351 returns not found error2352 behaves like SCIM token authenticated2353 without token auth2354 responds with 4012355 behaves like SAML SSO must be enabled2356 responds with 403 when instance SAML SSO not enabled2357 behaves like Invalid extern_uid returns 4042358 when there is no user associated with extern_uid2359 responds with 4042360 when there is a user with extern_uid2361 responds with 2002362 POST api/scim/v2/application/Users2363 behaves like Not available to SaaS customers2364 on GitLab.com2365 renders not found2366 behaves like Instance level SCIM license required2367 when license is not enabled2368 returns not found error2369 behaves like SCIM token authenticated2370 without token auth2371 responds with 4012372 behaves like SAML SSO must be enabled2373 responds with 403 when instance SAML SSO not enabled2374 without an existing user2375 responds with 201 and the new user attributes2376 when existing user2377 responds with 201 and the scim user attributes2378 when a provisioning error occurs2379 returns a 412 response and error message2380 behaves like Filtered params in errors2381 does not expose the password in error response2382 does not expose the access token in error response2383 when a conflict occurs2384 returns a 409 response and error message2385 behaves like Filtered params in errors2386 does not expose the password in error response2387 does not expose the access token in error response2388 PATCH api/scim/v2/application/Users/:id2389 behaves like Not available to SaaS customers2390 on GitLab.com2391 renders not found2392 behaves like Instance level SCIM license required2393 when license is not enabled2394 returns not found error2395 behaves like SCIM token authenticated2396 without token auth2397 responds with 4012398 behaves like SAML SSO must be enabled2399 responds with 403 when instance SAML SSO not enabled2400 behaves like Invalid extern_uid returns 4042401 when there is no user associated with extern_uid2402 responds with 4042403 when params update extern_uid for existing scim identity2404 responds with 204 and updates extern_uid2405 when params update other attributes on existing scim identity2406 responds with success but does not update the attributes2407 when params are invalid2408 ignores the params and returns a success response2409 when extern_uid update fails2410 returns an error2411 when deprovision fails2412 returns an error2413 when reprovision fails2414 returns an error2415 when param values deactivate scim identity2416 deactivates the scim_identity2417 when param values reactivate scim identity2418 activates the scim_identity2419 does not call reprovision service when identity is already active2420 when id param is missing from request2421 returns method not allowed error2422 DELETE /scim/v2/application/Users/:id2423 behaves like Not available to SaaS customers2424 on GitLab.com2425 renders not found2426 behaves like Instance level SCIM license required2427 when license is not enabled2428 returns not found error2429 behaves like SCIM token authenticated2430 without token auth2431 responds with 4012432 behaves like SAML SSO must be enabled2433 responds with 403 when instance SAML SSO not enabled2434 behaves like Invalid extern_uid returns 4042435 when there is no user associated with extern_uid2436 responds with 4042437 when existing user2438 responds with 204 and deactivates the scim identity2439 when deprovision fails2440 returns an error2441 when user with an email extern_uid2442 behaves like SCIM API endpoints2443 GET api/scim/v2/application/Users2444 responds with paginated users when there is no filter2445 behaves like Not available to SaaS customers2446 on GitLab.com2447 renders not found2448 behaves like Instance level SCIM license required2449 when license is not enabled2450 returns not found error2451 behaves like SCIM token authenticated2452 without token auth2453 responds with 4012454 behaves like SAML SSO must be enabled2455 responds with 403 when instance SAML SSO not enabled2456 when unsupported filters are used2457 responds with an error2458 when existing user matches filter2459 responds with 2002460 sets default values as required by the specification2461 when no user matches filter2462 responds with 2002463 GET api/scim/v2/application/Users/:id2464 responds with 403 when instance SAML SSO not configured2465 behaves like Not available to SaaS customers2466 on GitLab.com2467 renders not found2468 behaves like Instance level SCIM license required2469 when license is not enabled2470 returns not found error2471 behaves like SCIM token authenticated2472 without token auth2473 responds with 4012474 behaves like SAML SSO must be enabled2475 responds with 403 when instance SAML SSO not enabled2476 behaves like Invalid extern_uid returns 4042477 when there is no user associated with extern_uid2478 responds with 4042479 when there is a user with extern_uid2480 responds with 2002481 POST api/scim/v2/application/Users2482 behaves like Not available to SaaS customers2483 on GitLab.com2484 renders not found2485 behaves like Instance level SCIM license required2486 when license is not enabled2487 returns not found error2488 behaves like SCIM token authenticated2489 without token auth2490 responds with 4012491 behaves like SAML SSO must be enabled2492 responds with 403 when instance SAML SSO not enabled2493 without an existing user2494 responds with 201 and the new user attributes2495 when existing user2496 responds with 201 and the scim user attributes2497 when a provisioning error occurs2498 returns a 412 response and error message2499 behaves like Filtered params in errors2500 does not expose the password in error response2501 does not expose the access token in error response2502 when a conflict occurs2503 returns a 409 response and error message2504 behaves like Filtered params in errors2505 does not expose the password in error response2506 does not expose the access token in error response2507 PATCH api/scim/v2/application/Users/:id2508 behaves like Not available to SaaS customers2509 on GitLab.com2510 renders not found2511 behaves like Instance level SCIM license required2512 when license is not enabled2513 returns not found error2514 behaves like SCIM token authenticated2515 without token auth2516 responds with 4012517 behaves like SAML SSO must be enabled2518 responds with 403 when instance SAML SSO not enabled2519 behaves like Invalid extern_uid returns 4042520 when there is no user associated with extern_uid2521 responds with 4042522 when params update extern_uid for existing scim identity2523 responds with 204 and updates extern_uid2524 when params update other attributes on existing scim identity2525 responds with success but does not update the attributes2526 when params are invalid2527 ignores the params and returns a success response2528 when extern_uid update fails2529 returns an error2530 when deprovision fails2531 returns an error2532 when reprovision fails2533 returns an error2534 when param values deactivate scim identity2535 deactivates the scim_identity2536 when param values reactivate scim identity2537 activates the scim_identity2538 does not call reprovision service when identity is already active2539 when id param is missing from request2540 returns method not allowed error2541 DELETE /scim/v2/application/Users/:id2542 behaves like Not available to SaaS customers2543 on GitLab.com2544 renders not found2545 behaves like Instance level SCIM license required2546 when license is not enabled2547 returns not found error2548 behaves like SCIM token authenticated2549 without token auth2550 responds with 4012551 behaves like SAML SSO must be enabled2552 responds with 403 when instance SAML SSO not enabled2553 behaves like Invalid extern_uid returns 4042554 when there is no user associated with extern_uid2555 responds with 4042556 when existing user2557 responds with 204 and deactivates the scim identity2558 when deprovision fails2559 returns an error2560API::MergeRequestApprovals2561 GET :id/merge_requests/:merge_request_iid/approvals2562 retrieves the approval status2563 lists unapproved rule names2564 when private group approver2565 hides private group2566 when admin2567 shows all approver groups2568 when approvers are set to zero2569 returns a 2002570 when merge_status is cannot_be_merged_rechecking2571 returns `checking`2572 GET :id/merge_requests/:merge_request_iid/approval_settings2573 retrieves the approval rules details2574 behaves like an API endpoint for getting merge request approval state2575 when source rule is present2576 returns source rule details2577 when rule has groups2578 when user can view a group2579 includes group2580 when user cannot view a group included in groups2581 excludes private groups2582 when rule has a section2583 exposes the value of section when set2584 when target_branch is specified2585 filters the rules returned by target branch2586 GET :id/merge_requests/:merge_request_iid/approval_state2587 retrieves the approval state details2588 behaves like an API endpoint for getting merge request approval state2589 when source rule is present2590 returns source rule details2591 when rule has groups2592 when user can view a group2593 includes group2594 when user cannot view a group included in groups2595 excludes private groups2596 POST :id/merge_requests/:merge_request_iid/approvals2597 behaves like POST request permissions for admin mode2598 behaves like when admin2599 behaves like makes request2600 returns2601 behaves like makes request2602 returns2603 behaves like when user2604 returns2605 behaves like makes request2606 returns2607 as a project admin2608 behaves like user allowed to override approvals_before_merge2609 when disable_overriding_approvers_per_merge_request is false on the project2610 allows you to set approvals required2611 when disable_overriding_approvers_per_merge_request is true on the project2612 does not allow you to set approvals_before_merge2613 as a global admin2614 behaves like user allowed to override approvals_before_merge2615 when disable_overriding_approvers_per_merge_request is false on the project2616 allows you to set approvals required2617 when disable_overriding_approvers_per_merge_request is true on the project2618 does not allow you to set approvals_before_merge2619 as a random user2620 does not allow you to override approvals required2621 POST :id/merge_requests/:merge_request_iid/approve2622 as the author of the merge request2623 returns a 4012624 as a valid approver2625 only shows group approvers visible to the user2626 when the sha param is not set2627 approves the merge request2628 when the sha param is correct2629 approves the merge request2630 when the sha param is incorrect2631 returns a 4092632 does not approve the merge request2633 when project requires force auth for approval2634 does not approve the merge request with no password2635 does not approve the merge request with incorrect password2636 approves the merge request with correct password2637 POST :id/merge_requests/:merge_request_iid/unapprove2638 as a user who has approved the merge request2639 unapproves the merge request2640 only shows group approvers visible to the user2641API::Discussions2642 when noteable is an Epic2643 behaves like discussions API2644 GET /groups/:id/epics/:noteable_id/discussions2645 returns an array of discussions2646 returns a 404 error when noteable id not found2647 returns 404 when not authorized2648 GET /groups/:id/epics/:noteable_id/discussions/:discussion_id2649 returns a discussion by id2650 returns a 404 error if discussion not found2651 POST /groups/:id/epics/:noteable_id/discussions2652 creates a new note2653 returns a 400 bad request error if body not given2654 returns a 401 unauthorized error if user not authenticated2655 tracks a Notes::CreateService event2656 when an admin or owner makes the request2657 accepts the creation date to be set2658 when user does not have access to read the discussion2659 responds with 4042660 when a project is public with private repo access2661 when user is not a team member of private repo2662 creating a new note2663 raises 404 error2664 fetching a discussion2665 raises 404 error2666 POST /groups/:id/epics/:noteable_id/discussions/:discussion_id/notes2667 adds a new note to the discussion2668 returns a 400 bad request error if body not given2669 when the discussion is an individual note2670 creates a new discussion2671 PUT /groups/:id/epics/:noteable_id/discussions/:discussion_id/notes/:note_id2672 returns modified note2673 returns a 404 error when note id not found2674 returns a 400 bad request error if body not given2675 DELETE /groups/:id/epics/:noteable_id/discussions/:discussion_id/notes/:note_id2676 deletes a note2677 returns a 404 error when note id not found2678 behaves like 412 response2679 for a modified ressource2680 returns 412 with a JSON error2681 for an unmodified ressource2682 returns 204 with an empty body2683Groups::GroupMembersController2684 GET /groups/*group_id/-/group_members2685 pushes feature flag to frontend2686 sets @banned to include banned group members2687 sets @members not to include banned group members2688 when licensed feature is not available2689 behaves like assigns @banned and @members correctly2690 does not assign @banned2691 sets @members to include banned group members2692 when feature flag is disabled2693 behaves like assigns @banned and @members correctly2694 does not assign @banned2695 sets @members to include banned group members2696 when sub-group2697 behaves like assigns @banned and @members correctly2698 does not assign @banned2699 sets @members to include banned group members2700 PUT /groups/*group_id/-/group_members/:id/ban2701 when current user is an owner2702 redirects back to group members page2703 behaves like bans the user2704 bans the user2705 when ban fails2706 redirects back to group members page with the error message as alert2707 when user cannot admin_group_member (not an owner)2708 returns 4032709 PUT /groups/*group_id/-/group_members/:id/unban2710 when current user is an owner2711 redirects back to banned group members page2712 behaves like unbans the user2713 unbans the user2714 when unbanning a subgroup member2715 behaves like unbans the user2716 unbans the user2717 when member is not banned2718 returns 4042719 when unban fails2720 redirects back to banned group members page with the error message as alert2721 when user is not an owner2722 returns 4042723 PUT /groups/*group_id/-/group_members/:id2724 when group has email domain feature enabled2725 for a user with an email belonging to the allowed domain2726 returns error status2727 for a user with an un-verified email belonging to a domain different from the allowed domain2728 returns error status2729 returns error message2730 GET /groups/*group_id/-/group_members/export_csv2731 redirects back to members list2732 when LDAP sync is enabled2733 redirects back to members list2734API::VulnerabilityExports2735 POST /security/projects/:id/vulnerability_exports2736 behaves like creating export for exportable2737 when the request does not fulfill the requirements2738 responds with bad_request2739 when the request fulfills the requirements2740 when the user is not authorized to take the action2741 responds with 403 forbidden2742 when the user is authorized to take the action2743 when the export creation succeeds2744 returns information about new vulnerability export2745 when the export creation fails2746 returns the error message2747 behaves like forbids access to vulnerability API endpoint in case of disabled features2748 when security dashboard feature is not available2749 responds with 403 Forbidden2750 permissions2751 is expected to be allowed for :admin2752 is expected to be allowed for :owner2753 is expected to be allowed for :maintainer2754 is expected to be allowed for :developer2755 is expected to be allowed for :auditor2756 is expected to be denied for :reporter2757 is expected to be denied for :guest2758 is expected to be denied for :anonymous2759 POST /security/groups/:id/vulnerability_exports2760 behaves like creating export for exportable2761 when the request does not fulfill the requirements2762 responds with bad_request2763 when the request fulfills the requirements2764 when the user is not authorized to take the action2765 responds with 403 forbidden2766 when the user is authorized to take the action2767 when the export creation succeeds2768 returns information about new vulnerability export2769 when the export creation fails2770 returns the error message2771 behaves like forbids access to vulnerability API endpoint in case of disabled features2772 when security dashboard feature is not available2773 responds with 403 Forbidden2774 POST /security/vulnerability_exports2775 behaves like creating export for exportable2776 when the request does not fulfill the requirements2777 responds with bad_request2778 when the request fulfills the requirements2779 when the user is not authorized to take the action2780 responds with 403 forbidden2781 when the user is authorized to take the action2782 when the export creation succeeds2783 returns information about new vulnerability export2784 when the export creation fails2785 returns the error message2786 behaves like forbids access to vulnerability API endpoint in case of disabled features2787 when security dashboard feature is not available2788 responds with 403 Forbidden2789 GET /security/vulnerability_exports/:id2790 with an authorized user with proper permissions2791 when export is finished2792 returns information about vulnerability export2793 does not return Poll-Interval header2794 when export is running2795 returns information about vulnerability export2796 returns Poll-Interval header with value set to 5 seconds2797 permissions2798 is expected to be denied for :admin2799 is expected to be denied for :owner2800 is expected to be denied for :maintainer2801 is expected to be denied for :developer2802 is expected to be denied for :auditor2803 is expected to be denied for :reporter2804 is expected to be denied for :guest2805 is expected to be denied for :anonymous2806 for export author2807 is expected to be allowed for #<User id:676 @user642>2808 GET /security/vulnerability_exports/:id/download2809 with an authorized user with proper permissions2810 when export is running2811 renders 4042812 when export is failed2813 renders 4042814 when export is finished2815 renders 200 with CSV file2816 permissions2817 is expected to be denied for :admin2818 is expected to be denied for :owner2819 is expected to be denied for :maintainer2820 is expected to be denied for :developer2821 is expected to be denied for :auditor2822 is expected to be denied for :reporter2823 is expected to be denied for :guest2824 is expected to be denied for :anonymous2825 for export author2826 is expected to be allowed for #<User id:676 @user642>2827API::Internal::Base2828 POST /internal/post_receive2829 when the push was redirected from a Geo secondary to the primary2830 includes a message advising a redirection occurred2831 POST /internal/allowed2832 project alias2833 without premium license2834 project matches a project alias2835 does not allow access because project can't be found2836 with premium license2837 project matches a project alias2838 allows access2839 project doesn't match a project alias2840 does not allow access because project can't be found2841 smartcard session required2842 user with a smartcard session2843 allows access2844 user without a smartcard session2845 does not allow access2846 with the setting off2847 allows access2848 ip restriction2849 with or without check_ip parameter2850 check_ip_present: false, ip: nil, status: 2002851 modifies access2852 check_ip_present: true, ip: "150.168.0.1", status: 2002853 modifies access2854 check_ip_present: true, ip: "150.168.0.2", status: 4042855 modifies access2856 maintenance mode enabled2857 when action is git push2858 returns forbidden2859 when action is not git push2860 returns success2861 with Deploy Key authentication2862 passes the deploy key to the auditor context2863 git audit streaming event2864 behaves like sends git audit streaming event2865 for public groups and projects2866 when user not logged in2867 sends the audit streaming event2868 for private groups and projects2869 when user logged in2870 sends the audit streaming event2871 with a namespace storage size limit2872 with a project2873 requests without changes2874 returns ok when the size limit has been exceeded2875 returns ok when the size is under the limit2876 requests with changes2877 rejects git push when the size limit has been exceeded2878 rejects git push when the push size would exceed the limit2879 accepts git push when the size is under the limit2880 with a snippet2881 rejects git push when the size limit has been exceeded2882 with a wiki2883 rejects git push when the size limit has been exceeded2884 when namespace storage size limits are enabled only for free namespaces2885 with a project in a paid namespace2886 requests with changes2887 accepts git push when the project repository size limit has been exceeded but is within the additional purchased storage size2888 POST /internal/lfs_authenticate2889 for a secondary node2890 returns the repository_http_path at the primary node2891 POST /internal/personal_access_token2892 with a max token lifetime on the instance2893 returns an error message when the expiry date exceeds the max token lifetime2894 returns a valid token when the expiry date does not exceed the max token lifetime2895 POST /internal/two_factor_manual_otp_check2896 behaves like actor key validations2897 key does not exist2898 returns an error message2899 key without user2900 returns an error message2901 when the key is a deploy key2902 returns an error message2903 when the two factor is enabled2904 when the OTP is valid2905 registers a new OTP session and returns success2906 when the OTP is invalid2907 is not success2908 locks the user out after maximum attempts is reached2909 logs the failure2910 behaves like an auditable failed authentication2911 log an audit event2912 when the two factor is disabled2913 returns an error message2914 feature flag is disabled2915 when two-factor is enabled for the user2916 returns user two factor config2917 licensed feature is not available2918 when two-factor is enabled for the user2919 returns user two factor config2920 POST /internal/two_factor_push_otp_check2921 behaves like actor key validations2922 key does not exist2923 returns an error message2924 key without user2925 returns an error message2926 when the key is a deploy key2927 returns an error message2928 when the two factor is enabled2929 when the OTP is valid2930 registers a new OTP session and returns success2931 when the OTP is invalid2932 is not success2933 when the two factor is disabled2934 returns an error message2935 feature flag is disabled2936 when two-factor is enabled for the user2937 returns user two factor config2938 licensed feature is not available2939 when two-factor is enabled for the user2940 returns user two factor config2941Git HTTP requests2942 User with no identities2943 when Kerberos token is provided2944 when authentication fails because of invalid Kerberos token2945 responds with status 401 Unauthorized2946 when authentication fails because of unknown Kerberos identity2947 responds with status 401 Unauthorized2948 when authentication succeeds2949 when the user has access to the project2950 complies with RFC45592951 when the user is blocked2952 responds with status 403 Forbidden2953 when the user isn't blocked2954 responds with status 200 OK2955 updates the user last activity2956 when the user doesn't have access to the project2957 responds with status 404 Not Found2958 complies with RFC45592959 when license is not provided2960 behaves like pulls are allowed2961 is expected to eq "application/vnd.gitlab-workhorse+json"2962 behaves like pushes are allowed2963 is expected to eq "application/vnd.gitlab-workhorse+json"2964 when SSO is enforced2965 behaves like pulls are allowed2966 is expected to eq "application/vnd.gitlab-workhorse+json"2967 when user cannot use password-based login2968 with feature flag switched off2969 behaves like pulls are allowed2970 is expected to eq "application/vnd.gitlab-workhorse+json"2971 behaves like pushes are allowed2972 is expected to eq "application/vnd.gitlab-workhorse+json"2973 with feature flag switched on2974 responds with status 401 Unauthorized for pull action2975 responds with status 401 Unauthorized for push action2976 when username and personal access token are provided2977 behaves like pulls are allowed2978 is expected to eq "application/vnd.gitlab-workhorse+json"2979 behaves like pushes are allowed2980 is expected to eq "application/vnd.gitlab-workhorse+json"2981 when user has 2FA enabled2982 when username and personal access token are provided2983 rejects the push attempt for read_repository scope2984 accepts the push attempt for write_repository scope2985 accepts the pull attempt for read_repository scope2986 accepts the pull attempt for api scope2987 accepts the push attempt for api scope2988 behaves like pulls are allowed2989 is expected to eq "application/vnd.gitlab-workhorse+json"2990 behaves like pushes are allowed2991 is expected to eq "application/vnd.gitlab-workhorse+json"2992 when namespace storage limits are enforced2993 behaves like pushes are allowed2994 is expected to eq "application/vnd.gitlab-workhorse+json"2995 when the limit has been exceeded2996 behaves like pushes are allowed2997 is expected to eq "application/vnd.gitlab-workhorse+json"2998getting group information2999 Query group(fullPath)3000 when Group SSO is enforced3001 returns null data when not authorized3002 allows access via session3003 allows access via bearer token3004 when loading vulnerabilityGrades alongside with Vulnerability.userNotesCount3005 finds vulnerability grades for only projects that were added to instance security dashboard3006 returns a successful response3007 when loading multiple epics3008 can lookahead to eliminate N+1 queries3009 when loading release statistics3010 when the group is private3011 behaves like correct access to release statistics3012 when the user is not logged in3013 behaves like no access to release statistics3014 returns data about release utilization within the group3015 when the user is not a member of the group3016 behaves like no access to release statistics3017 returns data about release utilization within the group3018 when the user is at least a guest3019 behaves like full access to release statistics3020 when there are no releases3021 returns 0 for both statistics3022 when there are some releases3023 returns data about release utilization within the group3024 when the group is public3025 behaves like correct access to release statistics3026 when the user is not logged in3027 behaves like no access to release statistics3028 returns data about release utilization within the group3029 when the user is not a member of the group3030 behaves like no access to release statistics3031 returns data about release utilization within the group3032 when the user is at least a guest3033 behaves like full access to release statistics3034 when there are no releases3035 returns 0 for both statistics3036 when there are some releases3037 returns data about release utilization within the group3038 pagination3039 when default sorting3040 behaves like sorted paginated query3041 behaves like requires variables3042 shared example requires variables to be set3044 when sorting3045 sorts correctly3046 when paginating3047 paginates correctly3048Groups::AuditEventsController3049 GET #index3050 when authorized owner3052 behaves like when audit_events feature is available3053 renders index with 200 status code3054 tracks search event3055 invokes AuditEventFinder with correct arguments3056 behaves like AuditEventFinder params3057 has the correct params3058 author3059 when no author entity type is specified3060 behaves like AuditEventFinder params3061 has the correct params3062 when the author entity type is specified3063 behaves like AuditEventFinder params3064 has the correct params3065 ordering3066 when no sort order is specified3067 behaves like orders by id descending3068 orders by id descending3069 when sorting by latest events first3070 behaves like orders by id descending3071 orders by id descending3072 when sorting by oldest events first3073 orders by id ascending3074 when sorting by an unsupported sort order3075 behaves like orders by id descending3076 orders by id descending3077 pagination3078 sets instance variables3079 paginates audit events, without casting a count query3080 behaves like Snowplow event tracking with RedisHLL context3081 behaves like Snowplow event tracking3082 is emitted3083 when invalid date3084 created_before: "invalid-date", created_after: nil3085 returns an error3086 created_before: nil, created_after: true3087 returns an error3088 created_before: "2021-13-10", created_after: nil3089 returns an error3090 created_before: nil, created_after: "2021-02-31"3091 returns an error3092 created_before: "2021-03-31", created_after: "2021-02-31"3093 returns an error3094 when date range is greater than limit3095 behaves like a date range error is returned3096 created_after: "2021-01-01", created_before: "2021-02-02"3097 returns an error3098 created_after: "2022-01-31", created_before: nil3099 returns an error3100 behaves like tracking unique visits3101 tracks unique visit if the format is HTML3102 tracks unique visit if DNT is not enabled3103 does not track unique visit if DNT is enabled3104 does not track unique visit if the format is JSON3105 when authorized auditor3107 behaves like when audit_events feature is available3108 renders index with 200 status code3109 tracks search event3110 invokes AuditEventFinder with correct arguments3111 behaves like AuditEventFinder params3112 has the correct params3113 author3114 when no author entity type is specified3115 behaves like AuditEventFinder params3116 has the correct params3117 when the author entity type is specified3118 behaves like AuditEventFinder params3119 has the correct params3120 ordering3121 when no sort order is specified3122 behaves like orders by id descending3123 orders by id descending3124 when sorting by latest events first3125 behaves like orders by id descending3126 orders by id descending3127 when sorting by oldest events first3128 orders by id ascending3129 when sorting by an unsupported sort order3130 behaves like orders by id descending3131 orders by id descending3132 pagination3133 sets instance variables3134 paginates audit events, without casting a count query3135 behaves like Snowplow event tracking with RedisHLL context3136 behaves like Snowplow event tracking3137 is emitted3138 when invalid date3139 created_before: "invalid-date", created_after: nil3140 returns an error3141 created_before: nil, created_after: true3142 returns an error3143 created_before: "2021-13-10", created_after: nil3144 returns an error3145 created_before: nil, created_after: "2021-02-31"3146 returns an error3147 created_before: "2021-03-31", created_after: "2021-02-31"3148 returns an error3149 when date range is greater than limit3150 behaves like a date range error is returned3151 created_after: "2021-01-01", created_before: "2021-02-02"3152 returns an error3153 created_after: "2022-01-31", created_before: nil3154 returns an error3155 behaves like tracking unique visits3156 tracks unique visit if the format is HTML3157 tracks unique visit if DNT is not enabled3158 does not track unique visit if DNT is enabled3159 does not track unique visit if the format is JSON3160 unauthorized3161 renders 4043162API::GroupHooks3163 behaves like web-hook API endpoints3164 GET /groups/:id/hooks3165 authorized user3166 returns all hooks3167 when user is forbidden3168 prevents access to hooks3169 when user is unauthorized3170 prevents access to hooks3171 the hook has URL variables3172 returns the names of the url variables3173 GET /groups/:id/hooks/:hook_id3174 authorized user3175 returns a project hook3176 returns a 404 error if hook id is not available3177 the hook is disabled3178 has the correct alert status3179 the hook is backed-off3180 has the correct alert status3181 when user is forbidden3182 does not access an existing hook3183 when user is unauthorized3184 does not access an existing hook3185 POST /groups/:id/hooks3186WARNING: ignoring the provided expectation message argument (:push_events) since it is not a string or a proc.3187WARNING: ignoring the provided expectation message argument (:issues_events) since it is not a string or a proc.3188WARNING: ignoring the provided expectation message argument (:confidential_issues_events) since it is not a string or a proc.3189WARNING: ignoring the provided expectation message argument (:merge_requests_events) since it is not a string or a proc.3190WARNING: ignoring the provided expectation message argument (:tag_push_events) since it is not a string or a proc.3191WARNING: ignoring the provided expectation message argument (:note_events) since it is not a string or a proc.3192WARNING: ignoring the provided expectation message argument (:confidential_note_events) since it is not a string or a proc.3193WARNING: ignoring the provided expectation message argument (:job_events) since it is not a string or a proc.3194WARNING: ignoring the provided expectation message argument (:pipeline_events) since it is not a string or a proc.3195WARNING: ignoring the provided expectation message argument (:wiki_page_events) since it is not a string or a proc.3196WARNING: ignoring the provided expectation message argument (:deployment_events) since it is not a string or a proc.3197WARNING: ignoring the provided expectation message argument (:releases_events) since it is not a string or a proc.3198WARNING: ignoring the provided expectation message argument (:subgroup_events) since it is not a string or a proc.3199 adds hook3200 adds the token without including it in the response3201 returns a 400 error if url not given3202 returns a 400 error if no parameters are provided3203WARNING: ignoring the provided expectation message argument (:push_events) since it is not a string or a proc.3204WARNING: ignoring the provided expectation message argument (:issues_events) since it is not a string or a proc.3205WARNING: ignoring the provided expectation message argument (:confidential_issues_events) since it is not a string or a proc.3206WARNING: ignoring the provided expectation message argument (:merge_requests_events) since it is not a string or a proc.3207WARNING: ignoring the provided expectation message argument (:tag_push_events) since it is not a string or a proc.3208WARNING: ignoring the provided expectation message argument (:note_events) since it is not a string or a proc.3209WARNING: ignoring the provided expectation message argument (:confidential_note_events) since it is not a string or a proc.3210WARNING: ignoring the provided expectation message argument (:job_events) since it is not a string or a proc.3211WARNING: ignoring the provided expectation message argument (:pipeline_events) since it is not a string or a proc.3212WARNING: ignoring the provided expectation message argument (:wiki_page_events) since it is not a string or a proc.3213WARNING: ignoring the provided expectation message argument (:deployment_events) since it is not a string or a proc.3214WARNING: ignoring the provided expectation message argument (:releases_events) since it is not a string or a proc.3215WARNING: ignoring the provided expectation message argument (:subgroup_events) since it is not a string or a proc.3216 sets default values for events3217 returns a 422 error if token not valid3218 returns a 422 error if url not valid3219 PUT /groups/:id/hooks/:hook_id3220 updates an existing hook3221 updates the URL variables3222 adds the token without including it in the response3223 returns 404 error if hook id not found3224 returns 400 error if no parameters are provided3225 returns a 422 error if url is not valid3226 returns a 422 error if token is not valid3227 DELETE /projects/:id/hooks/:hook_id3228 deletes hook from project3229 returns a 404 error when deleting non existent hook3230 returns a 404 error if hook id not given3231 returns forbidden if a user attempts to delete hooks they do not own3232 behaves like 412 response3233 for a modified ressource3234 returns 412 with a JSON error3235 for an unmodified ressource3236 returns 204 with an empty body3237 PUT /groups/:id/hooks/:hook_id/url_variables/:key3238 sets the variable3239 overwrites existing values3240 returns a 404 error when editing non existent hook3241 returns a 422 error when the key is illegal3242 returns a 422 error when the value is illegal3243 DELETE /groups/:id/hooks/:hook_id/url_variables/:key3244 unsets the variable3245 returns 404 for keys that do not exist3246 returns a 404 error when deleting a variable from a non existent hook3247 behaves like web-hook API endpoints with branch-filter3248 POST /projects/:id/hooks3249 returns a 422 error if branch filter is not valid3250API::EpicBoards3251 # order random3252 GET /groups/:id/epic_boards3253 behaves like request with epics unavailable3254 returns 403 forbidden error3255 when epics are available3256 behaves like request with errors3257 with unauthenticated user3258 returns 401 unauthorized error3259 with user without permissions3260 returns 404 not found error3261 when provided ids are not found3262 returns 404 not found error3263 behaves like request with pagination3264 when viewing the first page3265 behaves like paginated API endpoint3266 returns the correct page3267 when viewing the second page3268 behaves like paginated API endpoint3269 returns the correct page3270 when the request is correct3271 returns 200 status3272 returns correct information3273 matches the response schema3274 avoids N+1 queries3275 GET /groups/:id/epic_boards/:board_id/lists3276 behaves like request with epics unavailable3277 returns 403 forbidden error3278 when epics are available3279 behaves like request with errors3280 with unauthenticated user3281 returns 401 unauthorized error3282 with user without permissions3283 returns 404 not found error3284 when provided ids are not found3285 returns 404 not found error3286 behaves like request with pagination3287 when viewing the first page3288 behaves like paginated API endpoint3289 returns the correct page3290 when viewing the second page3291 behaves like paginated API endpoint3292 returns the correct page3293 when the request is correct3294 returns 200 status3295 matches the response schema3296 avoids N+1 queries3297 GET /groups/:id/epic_boards/:board_id/lists/list_id3298 behaves like request with epics unavailable3299 returns 403 forbidden error3300 when epics are available3301 behaves like request with errors3302 with unauthenticated user3303 returns 401 unauthorized error3304 with user without permissions3305 returns 404 not found error3306 when provided ids are not found3307 returns 404 not found error3308 when the request is correct3309 returns 200 status3310 matches the response schema3311 GET /groups/:id/epic_boards/:board_id3312 behaves like request with epics unavailable3313 returns 403 forbidden error3314 when epics are available3315 behaves like request with errors3316 with unauthenticated user3317 returns 401 unauthorized error3318 with user without permissions3319 returns 404 not found error3320 when provided ids are not found3321 returns 404 not found error3322 when the request is correct3323 returns 200 status3324 matches the response schema3325getting the compliance violations for a group3326 when the user is unauthorized3327 returns nil3328 when the user is authorized3329 without any filters or sorting3330 finds all the compliance violations3331 filtering the results3332 when given an array of project IDs3333 finds all the compliance violations3334 when given merged at dates3335 merged_params: {"mergedBefore"=>"2023-04-17"}, result: lazy { violation_output }3336 finds all the compliance violations3337 merged_params: {"mergedAfter"=>"2023-04-17"}, result: lazy { violation2_output }3338 finds all the compliance violations3339 merged_params: {"mergedBefore"=>"2023-04-19", "mergedAfter"=>"2023-04-17"}, result: lazy { violation2_output }3340 finds all the compliance violations3341 sorting and pagination3342 sort_param: :SEVERITY_LEVEL_ASC, all_records: violation_ids_asc3343 behaves like sorted paginated query3344 behaves like requires variables3345 shared example requires variables to be set3347 when sorting3348 sorts correctly3349 when paginating3350 paginates correctly3351 sort_param: :SEVERITY_LEVEL_DESC, all_records: violation_ids_desc3352 behaves like sorted paginated query3353 behaves like requires variables3354 shared example requires variables to be set3356 when sorting3357 sorts correctly3358 when paginating3359 paginates correctly3360 sort_param: :VIOLATION_REASON_ASC, all_records: violation_ids_asc3361 behaves like sorted paginated query3362 behaves like requires variables3363 shared example requires variables to be set3365 when sorting3366 sorts correctly3367 when paginating3368 paginates correctly3369 sort_param: :VIOLATION_REASON_DESC, all_records: violation_ids_desc3370 behaves like sorted paginated query3371 behaves like requires variables3372 shared example requires variables to be set3374 when sorting3375 sorts correctly3376 when paginating3377 paginates correctly3378 sort_param: :MERGE_REQUEST_TITLE_ASC, all_records: violation_ids_asc3379 behaves like sorted paginated query3380 behaves like requires variables3381 shared example requires variables to be set3383 when sorting3384 sorts correctly3385 when paginating3386 paginates correctly3387 sort_param: :MERGE_REQUEST_TITLE_DESC, all_records: violation_ids_desc3388 behaves like sorted paginated query3389 behaves like requires variables3390 shared example requires variables to be set3392 when sorting3393 sorts correctly3394 when paginating3395 paginates correctly3396 sort_param: :MERGED_AT_ASC, all_records: violation_ids_asc3397 behaves like sorted paginated query3398 behaves like requires variables3399 shared example requires variables to be set3401 when sorting3402 sorts correctly3403 when paginating3404 paginates correctly3405 sort_param: :MERGED_AT_DESC, all_records: violation_ids_desc3406 behaves like sorted paginated query3407 behaves like requires variables3408 shared example requires variables to be set3410 when sorting3411 sorts correctly3412 when paginating3413 paginates correctly3414Groups::BillingsController3415 GET index3416 auditor3417 behaves like authorized3418 renders index with 200 status code3419 fetches subscription plans data from customers.gitlab.com3420 behaves like seat count alert3421 when the namespace qualifies for the alert3422 sets the seat_count_data3423 when the namespace does not qualify for the alert3424 sets the seat_count_data to nil3425 when CustomersDot is unavailable3426 renders a different partial3427 owner3428 behaves like authorized3429 renders index with 200 status code3430 fetches subscription plans data from customers.gitlab.com3431 behaves like seat count alert3432 when the namespace qualifies for the alert3433 sets the seat_count_data3434 when the namespace does not qualify for the alert3435 sets the seat_count_data to nil3436 when CustomersDot is unavailable3437 renders a different partial3438 unauthorized3439 renders 404 when user is not an owner3440 renders 404 when the namespace check is disabled3441 renders 404 when user is an auditor without feature flag3442 POST refresh_seats3443 authorized3444 with feature flag on3445 refreshes subscription seats3446 renders 2003447 when update fails3448 renders 4003449 with feature flag off3450 renders 4003451 unauthorized3452 renders 404 when user is not an owner3453 renders 404 when it is not gitlab.com3454Groups::Analytics::TasksByTypeController3455 GET #show3456 when valid parameters are given3457 succeeds3458 returns valid count3459 when `label_names` are missing3460 behaves like expects unprocessable_entity response3461 returns unprocessable_entity as response3462 behaves like parameter validation3463 when user access level is lower than reporter3464 returns forbidden as response3465 when license is missing3466 returns forbidden as response3467 when `created_after` parameter is invalid3468 behaves like expects unprocessable_entity response3469 returns unprocessable_entity as response3470 when `created_after` parameter is missing3471 behaves like expects unprocessable_entity response3472 returns unprocessable_entity as response3473 when `created_after` date is later than `created_before` date3474 behaves like expects unprocessable_entity response3475 returns unprocessable_entity as response3476 GET #top_labels3477 when valid parameters are given3478 succeeds3479 returns valid count3480 behaves like parameter validation3481 when user access level is lower than reporter3482 returns forbidden as response3483 when license is missing3484 returns forbidden as response3485 when `created_after` parameter is invalid3486 behaves like expects unprocessable_entity response3487 returns unprocessable_entity as response3488 when `created_after` parameter is missing3489 behaves like expects unprocessable_entity response3490 returns unprocessable_entity as response3491 when `created_after` date is later than `created_before` date3492 behaves like expects unprocessable_entity response3493 returns unprocessable_entity as response3494SmartcardController3495 #auth3496 with smartcard_auth enabled3497 redirects to extract certificate3498 with provider param3499 forwards the provider param3500 with smartcard_auth disabled3501 renders 4043502 #extract_certificate3503 with smartcard_auth enabled3504 redirects to verify certificate3505 with provider param3506 forwards the provider param3507 missing NGINX client certificate header3508 renders unauthorized3509 request from different host / port3510 renders 4043511 with smartcard_auth disabled3512 renders 4043513 #verify_certificate3514 Smartcard::Certificate3515 behaves like a client certificate authentication3516 with smartcard_auth enabled3517 allows sign in3518 redirects to root3519 logs audit event3520 stores active session3521 user does not exist3522 signup allowed3523 creates user3524 signup disabled3525 renders 4013526 missing client certificate param3527 renders unauthorized3528 with smartcard_auth disabled3529 renders 4043530 user already exists3531 finds existing user3532 certificate header formats from NGINX3533 escaped format3534 behaves like valid certificate header3535 authenticates user3536 deprecated format3537 behaves like valid certificate header3538 authenticates user3539 Smartcard::LdapCertificate3540 sets correct parameters for LDAP search3541 behaves like a client certificate authentication3542 with smartcard_auth enabled3543 allows sign in3544 redirects to root3545 logs audit event3546 stores active session3547 user does not exist3548 signup allowed3549 creates user3550 signup disabled3551 renders 4013552 missing client certificate param3553 renders unauthorized3554 with smartcard_auth disabled3555 renders 4043556 user already exists3557 finds existing user3558 user has a different identity3559 doesn't login a user3560 doesn't create a new user entry either3561Admin::ClustersController3562 behaves like cluster metrics3563 GET #metrics3564 functionality3565 can query Prometheus3566 queries cluster metrics3567 when response has content3568 returns prometheus query response3569 when response has no content3570 returns prometheus query response3571 without Prometheus3572 returns not found3573 cannot query Prometheus3574 returns not found3575 GET environments3576 functionality3577 responds successfully3578 security3579 is expected to be allowed for admin. Expected: 200,201,204,302 Got: 2003580 is expected to be denied for user. Expected: 401,404 Got: 4043581 is expected to be denied for external. Expected: 401,404 Got: 4043582 GET show3583 expires etag cache to force reload environments list3584RegistrationsController3585 # order random3586 POST #create3587 behaves like creates a user with ArkoseLabs risk band on signup request3588 when arkose_labs_token verification succeeds3589 records the user's data from Arkose Labs3590 behaves like creates the user3591 creates the user3592 when verification fails3593 does not record the user's data from Arkose Labs3594 behaves like renders new action with an alert flash3595 renders new action with an alert flash3596 when user is not persisted3597 does not record the user's data from Arkose Labs3598 when feature is disabled3599 behaves like creates the user3600 creates the user3601 behaves like skips verification and data recording3602 skips verification and data recording3603 when reCAPTCHA is enabled3604 behaves like creates the user3605 creates the user3606 when reCAPTCHA verification fails3607 does not create the user3608 when arkose_labs_token param is not present3609 behaves like renders new action with an alert flash3610 renders new action with an alert flash3611 behaves like skips verification and data recording3612 skips verification and data recording3613 when request is for QA3614 behaves like skips verification and data recording3615 skips verification and data recording3616 behaves like creates the user3617 creates the user3618 identity verification3619 when identity verification is turned off3620 sending confirmation instructions3621 sends Devise confirmation instructions3622 does not send custom confirmation instructions3623 sets the confirmation_sent_at time3624 sets the confirmation_token to the unencrypted Devise token3625 setting a session variable3626 does not set the `verification_user_id` session variable3627 redirection3628 redirects to the `users_almost_there_path`3629 when identity verification is turned on3630 sending confirmation instructions3631 does not send Devise confirmation instructions3632 sends custom confirmation instructions3633 sets the confirmation_sent_at time3634 sets the confirmation_token to the encrypted custom token3635 setting a session variable3636 sets the `verification_user_id` session variable3637 handling sticking3638 sticks or unsticks the request3639 redirection3640 redirects to the `identity_verification_path`3641 when user is not persisted3642 does not try to send custom confirmation instructions3643 with onboarding progress3644 when ensure_onboarding is enabled3645 sets onboarding3646 when ensure_onboarding is disabled3647 does not set onboarding3648Querying an Iteration3649 when the user has access to the iteration3650 is expected to include {"title" => nil}3651 behaves like a working graphql query3652 returns a successful response3653 when `report` field is included3654 when fullPath argument is not provided3655 current_user: group_member, expected_scope_count: 43656 is expected to include {"burnupTimeSeries" => [{"scopeCount" => 4}]}3657 current_user: project1_member, expected_scope_count: 43658 is expected to include {"burnupTimeSeries" => [{"scopeCount" => 4}]}3659 when fullPath argument is provided3660 when current user has authorized access to one or more projects under the namespace3661 scope: group, current_user: group_member, expected_scope_count: 43662 is expected to include {"burnupTimeSeries" => [{"scopeCount" => 4}]}3663 scope: group, current_user: project1_member, expected_scope_count: 43664 is expected to include {"burnupTimeSeries" => [{"scopeCount" => 4}]}3665 scope: project1, current_user: group_member, expected_scope_count: 23666 is expected to include {"burnupTimeSeries" => [{"scopeCount" => 2}]}3667 scope: project1, current_user: project1_member, expected_scope_count: 23668 is expected to include {"burnupTimeSeries" => [{"scopeCount" => 2}]}3669 scope: project2, current_user: project2_member, expected_scope_count: 13670 is expected to include {"burnupTimeSeries" => [{"scopeCount" => 1}]}3671 scope: project2, current_user: group_member, expected_scope_count: 13672 is expected to include {"burnupTimeSeries" => [{"scopeCount" => 1}]}3673 scope: subgroup, current_user: group_member, expected_scope_count: 13674 is expected to include {"burnupTimeSeries" => [{"scopeCount" => 1}]}3675 scope: subgroup, current_user: subgroup_member, expected_scope_count: 13676 is expected to include {"burnupTimeSeries" => [{"scopeCount" => 1}]}3677 when current user cannot access the given namespace3678 scope: other_group, current_user: group_member3679 raises an exception3680 scope: project1, current_user: subgroup_member3681 raises an exception3682 scope: project1, current_user: project2_member3683 raises an exception3684 scope: project2, current_user: project1_member3685 raises an exception3686 scope: subgroup, current_user: project1_member3687 raises an exception3688 when the user does not have access to the iteration3689 is expected to be nil3690 behaves like a working graphql query3691 returns a successful response3692 when ID argument is missing3693 raises an exception3694 scoped path3695 inside a project context3696 group-owned iteration3697 behaves like scoped path3698 is expected to include {"scopedPath" => "/groups/project216/-/iterations/11", "scopedUrl" => /\/groups\/project216\/-\/iterations\/11$/, "webPath" => "/groups/group258/-/iterations/11", "webUrl" => /\/groups\/group258\/-\/iterations\/11$/}3699 when given a raw model id (backward compatibility)3700 is expected to include {"scopedPath" => "/groups/project216/-/iterations/11", "scopedUrl" => /\/groups\/project216\/-\/iterations\/11$/, "webPath" => "/groups/group258/-/iterations/11", "webUrl" => /\/groups\/group258\/-\/iterations\/11$/}3701 inside a group context3702 group-owned iteration3703 behaves like scoped path3704 is expected to include {"scopedPath" => "/groups/group258/-/iterations/11", "scopedUrl" => /\/groups\/group258\/-\/iterations\/11$/, "webPath" => "/groups/group258/-/iterations/11", "webUrl" => /\/groups\/group258\/-\/iterations\/11$/}3705 when given a raw model id (backward compatibility)3706 is expected to include {"scopedPath" => "/groups/group258/-/iterations/11", "scopedUrl" => /\/groups\/group258\/-\/iterations\/11$/, "webPath" => "/groups/group258/-/iterations/11", "webUrl" => /\/groups\/group258\/-\/iterations\/11$/}3707 group-owned iteration3708 behaves like scoped path3709 is expected to include {"scopedPath" => "/groups/group258/group264/-/iterations/11", "scopedUrl" => /\/groups\/group258\/group264\/-\/iterations\/11$/, "webPath" => "/groups/group258/-/iterations/11", "webUrl" => /\/groups\/group258\/-\/iterations\/11$/}3710 when given a raw model id (backward compatibility)3711 is expected to include {"scopedPath" => "/groups/group258/group265/-/iterations/11", "scopedUrl" => /\/groups\/group258\/group265\/-\/iterations\/11$/, "webPath" => "/groups/group258/-/iterations/11", "webUrl" => /\/groups\/group258\/-\/iterations\/11$/}3712 root context3713 group-owned iteration3714 behaves like scoped path3715 is expected to include {"scopedPath" => "/groups/group258/-/iterations/11", "scopedUrl" => /\/groups\/group258\/-\/iterations\/11$/, "webPath" => "/groups/group258/-/iterations/11", "webUrl" => /\/groups\/group258\/-\/iterations\/11$/}3716 when given a raw model id (backward compatibility)3717 is expected to include {"scopedPath" => "/groups/group258/-/iterations/11", "scopedUrl" => /\/groups\/group258\/-\/iterations\/11$/, "webPath" => "/groups/group258/-/iterations/11", "webUrl" => /\/groups\/group258\/-\/iterations\/11$/}3718 project-owned iteration3719 behaves like scoped path3720 is expected to include {"scopedPath" => "/groups/group258/-/iterations/11", "scopedUrl" => /\/groups\/group258\/-\/iterations\/11$/, "webPath" => "/groups/group258/-/iterations/11", "webUrl" => /\/groups\/group258\/-\/iterations\/11$/}3721 when given a raw model id (backward compatibility)3722 is expected to include {"scopedPath" => "/groups/group258/-/iterations/11", "scopedUrl" => /\/groups\/group258\/-\/iterations\/11$/, "webPath" => "/groups/group258/-/iterations/11", "webUrl" => /\/groups\/group258\/-\/iterations\/11$/}3723Projects::FeatureFlagIssuesController3724 GET #index3725 returns linked issues3726 does not return linked issues for a reporter3727 orders by feature_flag_issue id3728 returns the correct relation_path when the feature flag is linked to multiple issues3729 returns the correct relation_path when multiple feature flags are linked to an issue3730 returns the correct relation_path when there are multiple linked feature flags and issues3731 does not make N+1 queries3732 returns only issues readable by the user3733 when feature flag related issues feature is unlicensed3734 does not return linked issues3735 POST #create3736 creates a link between the feature flag and the issue3737 creates a link for the correct feature flag when there are multiple feature flags and projects3738 creates a cross project link for a project in the same namespace3739 creates a cross project link for a project in another namespace3740 does not create a link for a reporter3741 does not create a cross project link when the user is not a member of the issue's project3742 does not create a cross project link when the user is a guest of the issue's project3743 does not create a link when the user cannot read the issue3744 when feature flag related issues feature is unlicensed3745 does not create a link between the feature flag and the issue3746 DELETE #destroy3747 unlinks the issue from the feature flag3748 does not unlink the issue for a reporter3749 when feature flag related issues feature is unlicensed3750 does not unlink the issue3751API::ProjectClusters3752 POST /projects/:id/clusters/user3753 when user sets specific environment scope3754 creates a cluster with that specific environment3755 when does not set an specific environment scope3756 sets default environment3757 when another cluster exists3758 responds with 2013759 allows multiple clusters to be associated to project3760 PUT /projects/:id/clusters/:cluster_id3761 With a GCP cluster3762 updates the environment scope3763 With an user cluster3764 updates the environment scope3765API::Boards3766 behaves like multiple and scoped issue boards3767 multiple issue boards3768 POST /projects/:id/boards3769 creates a board3770 PUT /projects/:id/boards/:board_id3771 updates a board3772 does not remove missing attributes from the board3773 allows removing optional attributes3774 DELETE /projects/:id/boards/:board_id3775 deletes a board3776 with the scoped_issue_board-feature available3777 returns the milestone when the `scoped_issue_board` feature is enabled3778 hides the milestone when the `scoped_issue_board` feature is disabled3779 POST /projects/:id/boards/:board_id/lists3780 behaves like milestone board list3781 when milestone_id is sent3782 returns 400 if milestone is not found3783 returns 400 if milestone list feature is not available3784 creates a milestone list if milestone is found3785 behaves like assignee board list3786 when assignee_id is sent3787 returns 400 if user is not found3788 returns 400 if assignee list feature is not available3789 creates an assignee list if user is found3790 behaves like iteration board list3791 when iteration_id is sent3792 returns 400 if iteration is not found3793 returns 400 if not licensed3794 creates an iteration list if iteration is found3795 GET /projects/:id/boards/:board_id with special milestones3796 returns board with Upcoming milestone3797 returns board with Started milestone3798 GET /projects/:id/boards/:board_id/lists with max_issue_count3799 with WIP limits license3800 includes max_issue_count3801 includes max_issue_weight3802 includes limit_metric3803 without WIP limits license3804 does not include max_issue_weight3805 does not include max_issue_count3806 does not include limit_metric3807API::AuditEvents3808 Unique usage tracking3809 after calling all audit_events APIs as a single licensed user3810 tracks 3 separate events3811 reports one unique event3812 GET /audit_events3813 when authenticated, as a user3814 behaves like 403 response3815 returns 4033816 when authenticated, as an admin3817 audit events feature is not available3818 behaves like 403 response3819 returns 4033820 audit events feature is available3821 returns 200 response3822 includes the correct pagination headers3823 behaves like GET request permissions for admin mode3824 behaves like when admin3825 behaves like makes request3826 returns3827 behaves like makes request3828 returns3829 behaves like when user3830 returns3831 behaves like makes request3832 returns3833 parameters3834 behaves like supports keyset pagination3835 paginates the records correctly3836 on making requests with unsupported ordering structure3837 returns error3838 entity_type parameter3839 returns audit events of the provided entity type3840 entity_id parameter3841 returns audit_events of the provided entity id3842 requires entity_type parameter to be present3843 behaves like 400 response3844 returns 4003845 created_before parameter3846 returns audit events created before the given parameter3847 created_after parameter3848 returns audit events created after the given parameter3849 attributes3850 exposes the right attributes3851 GET /audit_events/:id3852 when authenticated, as a user3853 behaves like 403 response3854 returns 4033855 when authenticated, as an admin3856 audit events feature is not available3857 behaves like 403 response3858 returns 4033859 audit events feature is available3860 behaves like GET request permissions for admin mode3861 behaves like when admin3862 behaves like makes request3863 returns3864 behaves like makes request3865 returns3866 behaves like when user3867 returns3868 behaves like makes request3869 returns3870 audit event exists3871 returns 200 response3872 attributes3873 exposes the right attributes3874 audit event does not exist3875 behaves like 404 response3876 returns 4043877API::Todos3878 GET /todos3879 when there is an Epic Todo3880 is expected to respond with numeric status code ok3881 avoids N+1 queries3882 includes the Epic Todo in the response3883 POST :id/epics/:epic_iid/todo3884 when epics feature is disabled3885 returns 403 forbidden error3886 when epics feature is enabled3887 creates a todo on an epic3888 returns 304 there already exist a todo on that epic3889 returns 404 if the epic is not found3890 returns an error if the epic is not accessible3891Projects::DeployKeysController3892 POST create3893 records an audit event3894 when the account has configured ssh key expiry3895 shows an alert with the validation error3896 /enable/:id3897 with user with permission3898 records an audit event3899 returns 4043900 /disable/:id3901 with admin3902 records an audit event3903Groups::IterationsController3904 index3905 iteration_license_available: false, role: :developer3906 behaves like returning response status3907 returns not_found3908 iteration_license_available: true, role: :none3909 behaves like returning response status3910 returns not_found3911 iteration_license_available: true, role: :guest3912 redirects to the group iteration cadence index path3913 iteration_license_available: true, role: :developer3914 redirects to the group iteration cadence index path3915 show3916 iteration_license_available: false, role: :developer, requested_iteration: lazy { iteration }3917 behaves like returning response status3918 returns not_found3919 iteration_license_available: true, role: :none, requested_iteration: lazy { iteration }3920 behaves like returning response status3921 returns not_found3922 iteration_license_available: true, role: :guest, requested_iteration: lazy { other_iteration }3923 behaves like returning response status3924 returns not_found3925 when current user can view the requested iteration3926 iteration_license_available: true, role: :guest3927 redirects to the corresponding iteration cadence path3928 iteration_license_available: true, role: :developer3929 redirects to the corresponding iteration cadence path3930 new3931 iteration_license_available: false, role: :developer3932 behaves like returning response status3933 returns not_found3934 iteration_license_available: true, role: :none3935 behaves like returning response status3936 returns not_found3937 iteration_license_available: true, role: :guest3938 behaves like returning response status3939 returns not_found3940 when role is developer3941 redirects to the group iteration cadence index path3942 edit3943 iteration_license_available: false, role: :developer, requested_iteration: lazy { iteration }3944 behaves like returning response status3945 returns not_found3946 iteration_license_available: true, role: :none, requested_iteration: lazy { iteration }3947 behaves like returning response status3948 returns not_found3949 iteration_license_available: true, role: :guest, requested_iteration: lazy { iteration }3950 behaves like returning response status3951 returns not_found3952 iteration_license_available: true, role: :developer, requested_iteration: lazy { other_iteration }3953 behaves like returning response status3954 returns not_found3955 when role is developer and can edit the requested iteration3956 redirects to the corresponding iteration cadence path3957Projects::Analytics::CycleAnalytics::StagesController3958 # order random3959 GET #index3960 succeeds3961 when the project is not licensed3962 returns forbidden error3963 when requesting aggregation endpoints3964 GET #median3965 succeeds3966 behaves like licensed project-level value stream stages examples3967 fails when stage is not found3968 fails when license is missing3969 GET #average3970 succeeds3971 behaves like licensed project-level value stream stages examples3972 fails when stage is not found3973 fails when license is missing3974 GET #records3975 succeeds3976 behaves like licensed project-level value stream stages examples3977 fails when stage is not found3978 fails when license is missing3979 GET #count3980 succeeds3981 behaves like licensed project-level value stream stages examples3982 fails when stage is not found3983 fails when license is missing3984 GET #average_duration_chart3985 succeeds3986 behaves like licensed project-level value stream stages examples3987 fails when stage is not found3988 fails when license is missing3989API::Analytics::CodeReviewAnalytics3990 GET code_review3991 is successful3992 with merge requests present3993 returns list of open MRs with pagination headers3994 with label & milestone filters3995 applies filter3996 with negation filters3997 applies filter3998 with any label filter present3999 applies filter4000 when user has no authorization4001 is not authorized4002 when feature is not available in plan4003 is not_authorized4004 when project_id is not specified4005 is not found4006getting group label information4007 # order random4008 preventing N+1 queries4009 returns the project and group labels4010 does not generate N+1 queries4011 behaves like querying a GraphQL type with labels4012 running a query4013 minimum required arguments4014 returns the label information4015 returns the labels information4016 with a search param4017 finds the matching labels4018 the label does not exist4019 returns nil4020 performance4021 batches queries for labels by title4022Oauth::GeoAuthController4023 GET auth4024 redirects to root_url when state is invalid4025 without a tampered header4026 behaves like a valid redirect to to primary node's oauth endpoint4027 redirects to primary node's oauth endpoint4028 with a tampered HOST header4029 behaves like a valid redirect to to primary node's oauth endpoint4030 redirects to primary node's oauth endpoint4031 with a tampered X-Forwarded-Host header4032 behaves like a valid redirect to to primary node's oauth endpoint4033 redirects to primary node's oauth endpoint4034 GET callback4035 redirection4036 redirects to login screen if state is invalid4037 with a valid state4038 does not display a flash message4039 without a tampered header4040 behaves like a valid redirect to redirect_url4041 redirects to primary node's oauth endpoint4042 with a tampered HOST header4043 behaves like a valid redirect to redirect_url4044 redirects to primary node's oauth endpoint4045 with a tampered X-Forwarded-Host header4046 behaves like a valid redirect to redirect_url4047 redirects to primary node's oauth endpoint4048 invalid credentials4049 handles invalid credentials error4050 non-existent remote user4051 handles non-existent remote user error4052 non-existent local user4053 handles non-existent local user error4054 GET logout4055 when access_token is valid4056 logs out and redirects to the root_url4057 when access_token is invalid4058 shows access token errors4059Registrations::WelcomeController4060 # order random4061 #show4062 tracks render event4063 when in invitation flow4064 tracks render event4065 when in trial flow4066 tracks render event4067 when completed welcome step4068 does not track render event4069 #update4070 without a signed in user4071 is expected to redirect to "/users/sign_up"4072 with a signed in user4073 with email updates4074 when not on gitlab.com4075 when the user opted in4076 sets the email_opted_in field4077 does not set the rest of the email_opted_in fields4078 when the user opted out4079 sets the email_opted_in field4080 when on gitlab.com4081 when registration_objective field is provided4082 sets the registration_objective4083 when setup for company is false4084 when the user opted in4085 sets the email_opted_in fields4086 when user opted out4087 does not set the rest of the email_opted_in fields4088 when setup for company is true4089 sets email_opted_in fields4090 redirection4091 when signup_onboarding is not enabled4092 is expected to redirect to "/dashboard/projects"4093 tracks successful submission event4094 when signup_onboarding is enabled4095 when joining_project is "true"4096 is expected to redirect to "/dashboard/projects"4097 when joining_project is "false"4098 with group and project creation4099 is expected to redirect to "/users/sign_up/groups_projects/new"4100 when setup_for_company is "true"4101 is expected to redirect to "/users/sign_up/company/new?glm_content=some_content&glm_source=some_source&jobs_to_be_done_other=_jobs_to_be_done_other_®istration_objective=code_storage&role=software_developer"4102 when setup_for_company is "false"4103 is expected to redirect to "/users/sign_up/groups_projects/new"4104 when trial is true4105 is expected to redirect to "/users/sign_up/company/new?glm_content=some_content&glm_source=some_source&jobs_to_be_done_other=_jobs_to_be_done_other_®istration_objective=code_storage&role=software_developer&trial=true"4106 when in subscription flow4107 is expected not to redirect to "/users/sign_up/groups_projects/new"4108 when in invitation flow4109 is expected not to redirect to "/users/sign_up/groups_projects/new"4110 tracks successful submission event4111 when in trial flow4112 is expected not to redirect to "/users/sign_up/groups_projects/new"4113 tracks successful submission event4114 when stored company path4115 is expected to redirect to "/users/sign_up/company/new?glm_content=some_content&glm_source=some_source&jobs_to_be_done_other=_jobs_to_be_done_other_®istration_objective=code_storage&role=software_developer"4116 when failed request4117 does not track submission event4118getting test reports of a requirement4119 when user can read requirement4120 returns test reports successfully4121 behaves like a working graphql query4122 returns a successful response4123 with pagination4124 behaves like sorted paginated query4125 behaves like requires variables4126 shared example requires variables to be set4128 when sorting4129 sorts correctly4130 when paginating4131 paginates correctly4132 behaves like sorted paginated query4133 behaves like requires variables4134 shared example requires variables to be set4136 when sorting4137 sorts correctly4138 when paginating4139 paginates correctly4140 when the user does not have access to the requirement4141 returns nil4142Mutations::Security::Finding::RevertToDetected4143 # order random4144 #resolve4145 when the user has access to vulnerability management4146 when user does not have access to the project4147 behaves like a mutation that returns a top-level access error4148 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"4149 when no uuid is provided4150 raises an error4151 when the user has access to the project4152 when there is a dismissal feedback4153 when there is no vulnerability4154 behaves like properly sets the security finding state4155 sets the security finding state to detected4156 when there is a vulnerability4157 behaves like properly sets the security finding state4158 sets the security finding state to detected4159 behaves like properly sets the vulnerability state4160 sets the vulnerability state to detected4161 when the dismissal fails4162 raises an error4163 when the dismissal fails4164 raises an error4165 when there is no dismissal feedback4166 when there is no vulnerability4167 behaves like properly sets the security finding state4168 sets the security finding state to detected4169 when there is a vulnerability4170 behaves like properly sets the security finding state4171 sets the security finding state to detected4172 behaves like properly sets the vulnerability state4173 sets the vulnerability state to detected4174 when the security dashboard is not available to the user4175 behaves like a mutation that returns a top-level access error4176 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"4177Admin::DevOpsReportController4178 show_adoption?4179 is false if license feature 'devops_adoption' is disabled4180 'devops_adoption' license feature is enabled4181 is true4182 #show4183 with devops adoption available4184 behaves like tracks usage event4185 tracks i_analytics_dev_ops_adoption usage event for4186 behaves like Snowplow event tracking with RedisHLL context4187 behaves like Snowplow event tracking4188 is emitted4189 behaves like tracks usage event4190 tracks i_analytics_dev_ops_adoption usage event for dev4191 behaves like Snowplow event tracking with RedisHLL context4192 behaves like Snowplow event tracking4193 is emitted4194 behaves like tracks usage event4195 tracks i_analytics_dev_ops_adoption usage event for sec4196 behaves like Snowplow event tracking with RedisHLL context4197 behaves like Snowplow event tracking4198 is emitted4199 behaves like tracks usage event4200 tracks i_analytics_dev_ops_adoption usage event for ops4201 behaves like Snowplow event tracking with RedisHLL context4202 behaves like Snowplow event tracking4203 is emitted4204 behaves like tracks usage event4205 tracks i_analytics_dev_ops_score usage event for devops-score4206 with devops adoption not available4207 behaves like tracks usage event4208 tracks i_analytics_dev_ops_score usage event for4209 behaves like tracks usage event4210 tracks i_analytics_dev_ops_score usage event for dev4211 behaves like tracks usage event4212 tracks i_analytics_dev_ops_score usage event for sec4213 behaves like tracks usage event4214 tracks i_analytics_dev_ops_score usage event for ops4215 behaves like tracks usage event4216 tracks i_analytics_dev_ops_score usage event for devops-score4217API::GroupVariables4218 GET /groups/:id/variables/:key4219 when there are two variables with the same key on different environments4220 when filter[environment_scope] is not passed4221 returns 4094222 when filter[environment_scope] is passed4223 returns the variable4224 when wrong filter[environment_scope] is passed4225 returns not_found4226 when there is only one variable with provided key4227 returns not_found4228 POST /groups/:id/variables4229 scoped variables4230 :group_scoped_ci_variables licensed feature is available4231 creates a variable with the provided environment scope4232 a variable with the same key and scope exists already4233 does not create a variable4234 :group_scoped_ci_variables licensed feature is not available4235 creates a variable, but does not use the provided environment scope4236 a variable with the same key and scope exists already4237 does not create a variable4238 PUT /groups/:id/variables/:key4239 scoped variables4240 :group_scoped_ci_variables licensed feature is available4241 updates the variable4242 a variable with the same key and scope exists already4243 does not update the variable4244 :group_scoped_ci_variables licensed feature is not available4245 does not update the variable4246Dashboard::ProjectsController4247 #removed4248 when licensed4249 for admin users4250 returns success4251 paginates the records4252 returns projects marked for deletion4253 for non-admin users4254 returns success4255 paginates the records4256 for should_check_namespace_plan4257 should_check_namespace_plan: false, removed_projects_count: 34258 accounts total removable projects4259 should_check_namespace_plan: true, removed_projects_count: 24260 accounts total removable projects4261 when not licensed4262 behaves like returns not found4263 is expected to respond with numeric status code not_found4264getting compliance frameworks for a collection of projects4265 querying a single project4266 avoids N+1 queries4267 contains the expected compliance framework4268 projects can have a compliance framework4269 contains the correct number of compliance frameworks4270 projects that share the same compliance framework4271 shares the same compliance framework id4272Groups::Analytics::CycleAnalyticsController4273 GET show4274 when the license is available4275 succeeds4276 increments usage counter4277 renders `show` template when feature flag is enabled4278 when the initial, default value stream is requested4279 renders the default in memory value stream4280 when invalid name is given4281 renders 404 error4282 tracking events4283 tracks redis hll event4284 behaves like Snowplow event tracking with RedisHLL context4285 behaves like Snowplow event tracking4286 is emitted4287 when the license is missing4288 renders 403 error4289 when non-existent group is given4290 renders 404 error4291 with group and value stream params4292 builds request params with group and value stream4293Query.project(fullPath).pipeline(iid).securityReportFinding4294 when the required features are enabled4295 when user is member of the project4296 returns all the queried fields4297 when the finding has been dismissed4298 when :deprecate_vulnerabilities_feedback feature flag is disabled4299 returns a finding in the dismissed state4300 when :deprecate_vulnerabilities_feedback feature flag is enabled4301 returns a finding in the dismissed state4302 when user is not a member of the project4303 returns no vulnerability findings4304 when the required features are disabled4305 returns no vulnerability findings4306Query.gitlabSubscriptionsPreviewBillableUserChange4307 # order random4308 with project query4309 behaves like preview billable user change4310 when project_or_group does not exist4311 returns nil4312 when project_or_group exists4313 when current_user has access to project_or_group4314 with add_group_id4315 returns successfully4316 with add_user_emails4317 returns successfully4318 with add_user_ids4319 returns successfully4320 when missing all add_* arguments4321 returns error4322 when current_user does not have access to project_or_group4323 returns error4324 with group query4325 behaves like preview billable user change4326 when project_or_group does not exist4327 returns nil4328 when project_or_group exists4329 when current_user has access to project_or_group4330 with add_group_id4331 returns successfully4332 with add_user_emails4333 returns successfully4334 with add_user_ids4335 returns successfully4336 when missing all add_* arguments4337 returns error4338 when current_user does not have access to project_or_group4339 returns error4340API::ProtectedTags4341 GET /projects/:id/protected_tags4342 returns user and group ids for the access levels4343 GET /projects/:id/protected_tags/:tag4344 returns user and group ids for the access levels4345 POST /projects/:id/protected_tags4346 with granular access4347 can protect a tag while allowing an individual user to create tags4348 can protect a tag while allowing a group to create tags4349 avoids creating default access levels unless necessary4350 when protected_refs_for_users feature is not available4351 cannot protect a tag for a user or group only4352Emails::AdminNotification4353 user_auto_banned_email4354 is sent to the alerted user4355 has the correct subject4356 includes the reason4357 includes the scope of the ban4358 includes a link to unban the user4359 includes a link to change the settings4360 includes the email reason4361 behaves like an email sent from GitLab4362 has the characteristics of an email sent from GitLab4363 behaves like it should not have Gmail Actions links4364 is expected not to have body including "ViewAction"4365 behaves like a user cannot unsubscribe through footer link4366 does not have a List-Unsubscribe header or a body link4367 behaves like appearance header and footer enabled4368 contains header and footer4369 behaves like appearance header and footer not enabled4370 does not contain header and footer4371 when threshold is 1 and interval is 1 minute4372 uses singular form4373 when interval is less than a minute4374 uses the correct unit4375 when auto-ban is disabled4376 does not include the scope of the ban4377 does not include a link to unban the user4378 when scoped to a group4379 includes the scope of the ban4380 includes a link to unban the user4381 includes a link to change the settings4382 when alerted user does not exist anymore4383 behaves like no email is sent4384 does not send an email4385Projects::IterationsController4386 index4387 behaves like iterations license is not available4388 behaves like returning response status4389 returns not_found4390 behaves like user is unauthorized4391 behaves like returning response status4392 returns not_found4393 behaves like project is under user namespace4394 behaves like returning response status4395 returns not_found4396 when user is authorized4397 redirects to the project iteration cadence index path4398 show4399 behaves like iterations license is not available4400 behaves like returning response status4401 returns not_found4402 behaves like user is unauthorized4403 behaves like returning response status4404 returns not_found4405 behaves like project is under user namespace4406 behaves like returning response status4407 returns not_found4408 when user is authorized4409 when current user cannot view the requested iteration4410 behaves like returning response status4411 returns not_found4412 when current user can view the requested iteration4413 redirects to the project iteration cadence iteration show path4414Projects::RequirementsManagement::RequirementsController4415 POST #import_csv4416 unauthorized4417 when user is not signed in4418 behaves like response with 404 status4419 returns 4044420 with project member with a guest role4421 behaves like response with 404 status4422 returns 4044423 authorized4424 when requirements feature is available and member is a reporter4425 shows error when upload fails4426 behaves like response with success status4427 returns 200 status and success message4428 when file extension is in upper case4429 behaves like response with success status4430 returns 200 status and success message4431 when file extension is not csv4432 returns error message4433 when requirements feature is not available4434 behaves like response with 404 status4435 returns 4044436 POST #authorize4437 with authorized user4438 when requirements feature is enabled4439 behaves like handle uploads authorize request4440 POST authorize4441 authorizes workhorse header4442 rejects requests that bypassed gitlab-workhorse4443 when using remote storage4444 when direct upload is enabled4445 responds with status 200, location of file remote store and object details4446 when direct upload is disabled4447 handles as a local file4448 when requirements feature is disabled4449 behaves like response with 404 status4450 returns 4044451 with unauthorized user4452 behaves like response with 404 status4453 returns 4044454Groups::ProtectedEnvironmentsController4455 #POST create4456 with valid params4457 creates a new ProtectedEnvironment4458 sets a flash4459 redirects to CI/CD settings4460 with invalid params4461 does not create a new ProtectedEnvironment4462 redirects to CI/CD settings4463 with invalid access4464 renders 4044465 #PUT update4466 updates the protected environment4467 with invalid params4468 returns unprocessable_entity4469 when the user is not authorized4470 renders 4044471 #DELETE destroy4472 finds the requested protected environment4473 deletes the requested protected environment4474 redirects to CI/CD settings4475 when destroy failed4476 sets a flash4477 when the user is not authorized4478 renders 4044479Project Environments query4480 # order random4481 with protected environments4482 returns protected environment attributes4483 returns deploy access levels4484 returns approval rules4485 returns unified approval setting4486 when a specifc user is allowed to deploy4487 returns deploy access levels4488 when a specifc user is allowed to approve4489 returns approval rules4490 when a specifc group is allowed to deploy4491 returns deploy access levels4492 when a specifc group is allowed to approve4493 returns approval rules4494 when fetching protected environments for multiple environments4495 avoids N+1 query issue4496 when user does not have access to the environment4497 does not return protected environments4498Setting weight of an issue4499 returns an error if the user is not allowed to update the issue4500 when weight is a number4501 updates the issue weight4502 when weight is null4503 updates the issue weight4504 when weight is not an integer4505 raises invalid value error4506getting a list of compliance frameworks for a root namespace4507 when authenticated as the namespace owner4508 returns the groups compliance frameworks4509 when querying a specific framework ID4510 returns only a single compliance framework4511 when querying an invalid object ID4512 returns an error message4513 when querying a specific framework that current_user has no access to4514 does not return the framework4515 when querying multiple namespaces4516 avoids N+1 queries4517 responds with the expected list of compliance frameworks4518 when authenticated as a different user4519 does not return the namespaces compliance frameworks4520 when not authenticated4521 does not return the namespace's compliance frameworks4522Projects::BranchesController4523 GET #index4524 for mirrored projects with diverged branch4525 renders the diverged from upstream partial4526Create an external audit event destination header4527 when feature is licensed4528 when current user is a group owner4529 creates the header with the correct attributes4530 when the header attributes are invalid4531 returns correct errors4532 behaves like a mutation that does not create a header4533 does not create a header4534 when current user is a group maintainer4535 behaves like a mutation that does not create a header4536 does not create a header4537 when current user is a group developer4538 behaves like a mutation that does not create a header4539 does not create a header4540 when current user is a group guest4541 behaves like a mutation that does not create a header4542 does not create a header4543 when feature is unlicensed4544 behaves like a mutation on an unauthorized resource4545 behaves like a mutation that returns top-level errors4546 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"4547 behaves like a mutation that does not create a header4548 does not create a header4549Running a DAST Profile4550 behaves like an on-demand scan mutation when user cannot run an on-demand scan4551 when a user does not have access to the project4552 behaves like a mutation that returns a top-level access error4553 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"4554 when a user does not have access to run a dast scan on the project4555 behaves like a mutation that returns a top-level access error4556 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"4557 behaves like an on-demand scan mutation when user can run an on-demand scan4558 returns an empty errors array4559 returns a pipeline_url containing the correct path4560 when on demand scan licensed feature is not available4561 behaves like a mutation that returns a top-level access error4562 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"4563 when pipeline creation fails4564 behaves like a mutation that returns errors in the response4565 is expected to contain exactly "full error messages"4566Namespace.projects4567 sorting and pagination4568 when sorting by STORAGE4569 behaves like sorted paginated query4570 behaves like requires variables4571 shared example requires variables to be set4573 when sorting4574 sorts correctly4575 when paginating4576 paginates correctly4577getting Issue counts by status4578 # order random4579 with issue count data4580 with project permissions4581 returns the correct counts for each status4582 behaves like a working graphql query4583 returns a successful response4584 when filters are provided4585 when filtering by weight4586 returns the correct counts for each status4587 when filtering by iteration4588 returns the correct counts for each status4589 when filtering by epic4590 returns the correct counts for each status4591 when filtering by health status4592 returns the correct counts for each status4593Groups::UsageQuotasController4594 # order random4595 GET #pending_members4596 renders the pending members index4597 when user cap feature is unavailable4598 returns 4044599 when user does not have permission for pending members index4600 renders not_found4601 GET #index4602 when user has read_usage_quotas permission4603 renders index with 200 status code4604 behaves like seat count alert4605 when the namespace qualifies for the alert4606 sets the seat_count_data4607 when the namespace does not qualify for the alert4608 sets the seat_count_data to nil4609 when user does not have read_usage_quotas permission4610 renders not_found4611Groups::ScimOauthController4612 when the feature is configured4613 POST #create4614 without token4615 creates a new SCIM token record4616 json4617 shows the token4618 shows the url4619 with token4620 does not create a new SCIM token record4621 updates the token4622 json4623 shows the token4624 shows the url4625getting Incident Management escalation policies4626 # order random4627 without project permissions4628 is expected to be nil4629 behaves like a working graphql query4630 returns a successful response4631 with project permissions4632 with unavailable feature4633 is expected to be empty4634 behaves like a working graphql query4635 returns a successful response4636 without escalation policies4637 is expected to be empty4638 behaves like a working graphql query4639 returns a successful response4640 with escalation policies4641 returns the correct properties of the escalation policy4642 behaves like a working graphql query4643 returns a successful response4644 requesting single policy4645 returns the correct properties of the escalation policy4646 behaves like a working graphql query4647 returns a successful response4648Setting the epic of an issue4649 returns an error if the user is not allowed to update the issue4650 return an error if issue can not be updated4651 sets given epic to the issue4652 removes existing epic if epic_id is nil4653Groups::Analytics::DevopsAdoptionController4654 GET show4655 when user is not authorized to view devops adoption analytics4656 renders 403, forbidden error4657 when user is an auditor4658 allows access4659 when the user is a group maintainer4660 renders the devops adoption page4661 tracks devops_adoption usage event4662 when the feature is not available4663 renders forbidden4664 behaves like Snowplow event tracking with RedisHLL context4665 behaves like Snowplow event tracking4666 is emitted4667Emails::MergeCommits4668 #merge_requests_csv_email4669 is expected to eq "Kombucha lovers | Exported Chain of Custody Report"4670 is expected to contain exactly "current@email.com"4671 is expected to match "Your Chain of Custody CSV export for the group Kombucha lovers has been added to this email as an attachment."4672 is expected to match /Your Chain of Custody CSV export for the group (?-mix:<a .*?href="http:\/\/localhost\/kombucha_lovers".*?>Kombucha lovers<\/a>) has been added to this email as an attachment./4673Query.project(id).dashboards4674 # order random4675 when current user is a developer4676 returns dashboards4677 when feature flag is disabled4678 returns nil4679 when current user is a guest4680 returns no dashboards4681getting external status checks for a branch rule4682 # order random4683 is expected to eq 14684 when the user does not have read_external_status_check permission4685 behaves like a working graphql query4686 returns a successful response4687 hides external_status_checks_data4688 when the user does have read_external_status_check permission4689 behaves like a working graphql query4690 returns a successful response4691 returns external_status_checks_data4692Query.project(fullPath).pipeline(iid).securityReportFindings4693 # order random4694 when the required features are disabled4695 returns no vulnerability findings4696 when the required features are enabled4697 when user is member of the project4698 returns all the vulnerability findings4699 returns all the queried fields4700 when user is not a member of the project4701 returns no vulnerability findings4702getting requirement counts for a project4703 when user has access to the project4704 returns requirement counts4705 behaves like a working graphql query4706 returns a successful response4707 when the user does not have access to the requirement4708 returns nil4709 when requirements feature is not available4710 behaves like nil requirement counts4711 returns nil4712 when there are no requirements in the project4713 returns zero values for missing states4714Query.ciCatalogResources4715 # order random4716 when the CI Namespace Catalog feature is not available4717 returns an empty array4718 when the CI Namespace Catalog feature is available4719 returns all resources visible to the current user in the namespace4720 when the current user does not have permission to read the namespace catalog4721 returns an empty array4722Query.project(fullPath).dastScannerProfiles4723 when a user does not have access to the project4724 project response4725 is expected to be nil4726 when the user can run a dast scan4727 dast scanner profiles4728 is expected to be empty4729 when a user has access to multiple projects4730 dast scanner profiles4731 returns only the dast_scanner_profile for the requested project4732 when a user has access dast_scanner_profiles4733 dast scanner profiles4734 is expected not to be empty4735 first dast scanner profile id4736 is expected to eq "gid://gitlab/DastScannerProfile/2"4737Projects::PagesController4738 when max_pages_size param is specified4739 when user is an admin4740 when admin mode is enabled4741 updates max_pages_size4742 when admin mode is disabled4743 does not update max_pages_size4744 when user is not an admin4745 does not update max_pages_size4746Removing a namespace ban4747 removes the ban4748 when resource is not accessible to the user4749 returns an error message4750Update list limit metrics4751 returns an error if the list cannot be found4752 updates the list limit metrics for limit metric all_metrics4753 updates the list limit metrics for limit metric issue_count4754 updates the list limit metrics for limit metric issue_weights4755 the current_user is not allowed to update the issue4756 returns an error4757 the list_id is not a valid ListID4758 behaves like an invalid argument to the mutation4759 behaves like a mutation that returns top-level errors4760 is expected to contain exactly (include "invalid value for listId")4761Delete an audit event type filter4762 # order random4763 when licensed4764 when current user is a group maintainer4765 behaves like a mutation that returns top-level errors4766 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"4767 when current user is a group developer4768 behaves like a mutation that returns top-level errors4769 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"4770 when current user is a group guest4771 behaves like a mutation that returns top-level errors4772 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"4773 when current user is a group owner4774 returns success response4775 when event type filters in input is empty4776 returns graphql error4777 when unlicensed4778 behaves like a mutation on an unauthorized resource4779 behaves like a mutation that returns top-level errors4780 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"4781Projects::Settings::IntegrationsController4782 sets correct services list4783 enables SlackSlashCommands and disables GitlabSlackApplication4784 enables GitlabSlackApplication and disables SlackSlashCommands4785 without a license key4786 behaves like endpoint with some disabled integrations4787 has some disabled integrations4788 with a license key4789 when checking if namespace plan is enabled4790 behaves like endpoint with some disabled integrations4791 has some disabled integrations4792 when checking if namespace plan is not enabled4793 behaves like endpoint without disabled integrations4794 does not have disabled integrations4795Admin::UsersController4796 GET #index4797 eager loads obstacles to user deletion4798 POST update4799 updating name4800 when `disable_name_update_for_users` feature is available4801 when the ability to update their name is disabled for users4802 behaves like admin can update the name of a user4803 updates the name4804 when the ability to update their name is not disabled for users4805 behaves like admin can update the name of a user4806 updates the name4807 when `disable_name_update_for_users` feature is not available4808 behaves like admin can update the name of a user4809 updates the name4810 POST #reset_runner_minutes4811 when the reset is successful4812 redirects to group path4813 POST #impersonate4814 enqueues a new worker4815Query.issue(id)4816 # order random4817 when user has no access to the epic4818 when there is an epic4819 returns null for epic and hasEpic is `true`4820 when there is no epic4821 returns null for epic and hasEpic is `false`4822 when user has access to the epic4823 returns epic and hasEpic is `true`4824Getting ancestors of an epic4825 when epics are enabled4826 finds ancestors from group4827 when user has access to the parent group epics4828 finds ancestors from group and parent group4829 when epics are disabled4830 does not find the epic ancestors4831getting iterations4832 query for iteration cadence4833 returns all group cadences4834 by global id4835 fetching cadences from group level4836 behaves like returns cadence by id4837 returns cadence4838 from a different group4839 behaves like returns cadence by id4840 returns cadence4841 fetching cadences from project level4842 behaves like returns cadence by id4843 returns cadence4844Query.runners4845 Query.runners4846 with upgradeStatus argument4847 with deprecated CiRunnerUpgradeStatusType enum type4848 returns nil upgradeStatus for all runners4849 with new CiRunnerUpgradeStatus enum type4850 returns nil upgradeStatus for all runners4851 with membership argument4852 with deprecated RunnerMembershipFilter enum type4853 returns ids of expected runners4854 with new CiRunnerMembershipFilter enum type4855 returns ids of expected runners4856Mutations::Boards::EpicBoards::Destroy4857 when the user does not have permission4858 does not destroy the board4859 behaves like a mutation that returns a top-level access error4860 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"4861 when the user has permission4862 when everything is ok4863 destroys the board4864 returns an empty board4865 when there is only 1 board for the parent4866 does destroy the board4867Project creation via Registrations::GroupsProjectsController4868 # order random4869 POST #create4870 with an authenticated user4871 when group and project can be created4872 creates a group4873 when group already exists and project can be created4874 creates a project4875API::Integrations::Slack::Events4876 # order random4877 POST /integrations/slack/events4878 behaves like Slack request verification4879 unauthorized request4880 when the slack_app_signing_secret setting is not set4881 behaves like an unauthorized request4882 is expected to respond with numeric status code unauthorized4883 when the timestamp header has expired4884 behaves like an unauthorized request4885 is expected to respond with numeric status code unauthorized4886 when the timestamp header is missing4887 behaves like an unauthorized request4888 is expected to respond with numeric status code unauthorized4889 when the signature header is missing4890 behaves like an unauthorized request4891 is expected to respond with numeric status code unauthorized4892 when the signature is not verified4893 behaves like an unauthorized request4894 is expected to respond with numeric status code unauthorized4895 when type param is missing4896 behaves like a successful request that generates a tracked error4897 is expected to be empty4898 when type param is unknown4899 generates a tracked error4900 when type param is url_verification4901 responds in-request with the challenge4902 when event.type param is app_home_opened4903 calls the Slack API (integration-style test)4904Mutations::Analytics::DevopsAdoption::EnabledNamespaces::BulkEnable4905 creates the enabled_namespace for each passed namespace or returns existing enabled_namespace4906 when the user cannot manage enabled_namespaces at least for one namespace4907 behaves like a mutation that returns a top-level access error4908 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"4909 when the feature is not available4910 behaves like a mutation that returns a top-level access error4911 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"4912Groups::LdapsController4913 POST #sync4914 transitions to the pending state4915 notifies user that the group is already pending4916 returns an error if the group does not validate4917API::HelmPackages4918 # order random4919 GET /api/v4/projects/:id/packages/helm/:channel/charts/:file_name.tgz4920 behaves like applying ip restriction for group4921 in group without restriction4922 behaves like returning response status4923 returns ok4924 in group with restriction4925 with address within the range4926 behaves like returning response status4927 returns ok4928 with address outside the range4929 behaves like returning response status4930 returns not_found4931getting a repository in a project4932 # order random4933 when ref arg is invalid4934 returns an error4935 when ref arg is omitted4936 returns the CODEOWNERS file from the default branch4937 when ref arg is passed4938 returns the CODEOWNERS file from the requested branch4939Exporting Requirements4940 when the user does not have permission4941 behaves like requirements export fails4942 does not schedule export job4943 behaves like a mutation that returns a top-level access error4944 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"4945 when the user has permission4946 when requirements are disabled4947 behaves like requirements export fails4948 does not schedule export job4949 behaves like a mutation that returns a top-level access error4950 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"4951 when requirements are enabled4952 schedules job to export requirements4953Update of an existing epic board list4954 behaves like a GraphQL request to update board list4955 the user is not allowed to read board lists4956 behaves like a mutation that returns a top-level access error4957 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"4958 when user has permissions to admin board lists4959 updates the list position and collapsed state4960 when user has permissions to read board lists4961 updates the list collapsed state but not the list position4962API::RubygemPackages4963 # order random4964 GET /api/v4/projects/:project_id/packages/rubygems/gems/:file_name4965 behaves like applying ip restriction for group4966 in group without restriction4967 behaves like returning response status4968 returns ok4969 in group with restriction4970 with address within the range4971 behaves like returning response status4972 returns ok4973 with address outside the range4974 behaves like returning response status4975 returns not_found4976API::Ci::Runner4977 PUT /api/v4/jobs/:id4978 tracks CI minutes usage of running job4979 when CI minutes usage is exceeded4980 drops the job4981 when CI minutes usage is not exceeded4982 does not drop the job4983API::Integrations::Slack::Options4984 # order random4985 POST /integrations/slack/options4986 behaves like Slack request verification4987 unauthorized request4988 when the slack_app_signing_secret setting is not set4989 behaves like an unauthorized request4990 is expected to respond with numeric status code unauthorized4991 when the timestamp header has expired4992 behaves like an unauthorized request4993 is expected to respond with numeric status code unauthorized4994 when the timestamp header is missing4995 behaves like an unauthorized request4996 is expected to respond with numeric status code unauthorized4997 when the signature header is missing4998 behaves like an unauthorized request4999 is expected to respond with numeric status code unauthorized5000 when the signature is not verified5001 behaves like an unauthorized request5002 is expected to respond with numeric status code unauthorized5003 when type param is missing5004 behaves like a successful request that generates a tracked error5005 is expected to be empty5006 when type param is unknown5007 generates a tracked error5008 when action_id param is assignee5009 calls the Slack Interactivity Service5010Activate a subscription5011 persists license key5012 when there are future subscriptions5013 persists license key and stores future subscriptions5014Projects::IterationCadencesController5015 behaves like accessing iteration cadences5016 index5017 role: :none, status: :not_found5018 behaves like returning response status5019 returns not_found5020 role: :guest, status: :success5021 behaves like returning response status5022 returns success5023 role: :developer, status: :success5024 behaves like returning response status5025 returns success5026Projects::MergeRequests::ContentController5027 user has access to the project5028 GET cached_widget5029 renders widget MR entity as json5030Security::VulnerabilitiesController5031 GET #index5032 behaves like Security::ApplicationController5033 when the user is authenticated5034 responds with success5035 and the instance does not have an Ultimate license5036 404s5037 when the user is not authenticated5038 redirects the user to the sign in page5039 when security dashboard feature5040 is enabled5041 is expected to render template instance_security5042 is disabled5043 is expected to respond with numeric status code not_found5044 is expected to render template errors/not_found5045Emails::Issues5046 iterations5047 #changed_iteration_issue_email5048 shows the iteration it was changed to5049 #removed_iteration_issue_email5050 says iteration was removed5051Emails::GroupMemberships5052 #memberships_export_email5053 is expected to have subject of "Exported group membership list"5054 is expected to be delivered to ["user1448@example.org"]5055 contains one attachment5056 properly renders email5057Groups::Settings::CiCdController5058 # order random5059 as an owner5060 GET #show5061 renders group protected environments5062 excludes the deployment tier from dropdown if a corresponding environment is protected5063CountryStatesController5064 GET #index5065 returns a list of states as json5066 returns "null" when the provided country is not found5067Admin::SessionsController5068 #create5069 when using two-factor authentication5070 when OTP authentication fails5071 behaves like an auditable failed authentication5072 log an audit event5073 when WebAuthn authentication fails5074 behaves like an auditable failed authentication5075DEPRECATION WARNING: Invalid Feature Flag webauthn stubbed (called from each at /builds/gitlab-org/gitlab/spec/support/helpers/stub_feature_flags.rb:39)5076 log an audit event5077Profiles::BillingsController5078 GET #index5079 renders index with 200 status code5080 fetch subscription plans data from customers.gitlab.com5081 when CustomersDot is unavailable5082 renders a different partial5083CreateApiFuzzingCiConfiguration5084 returns a YAML snippet that can be used to configure API fuzzing scans for the project5085Oauth::ApplicationsController5086 project members5087 POST #create5088 logs the audit event5089Emails::UserCap5090 #user_cap_reached5091 sends mail with expected contents5092Admin::ApplicationsController5093 POST #create5094 creates the application5095Knapsack report was generated. Preview:5096{5097 "ee/spec/controllers/projects/merge_requests_controller_spec.rb": 149.43534480500057,5098 "ee/spec/requests/git_http_geo_spec.rb": 70.7792573329998,5099 "ee/spec/requests/api/issues_spec.rb": 54.65823334700053,5100 "ee/spec/mailers/notify_spec.rb": 36.42360770200048,5101 "ee/spec/requests/api/wikis_spec.rb": 36.85296505600036,5102 "ee/spec/requests/api/scim/instance_scim_spec.rb": 22.188282424000136,5103 "ee/spec/requests/api/merge_request_approvals_spec.rb": 25.792782333000105,5104 "ee/spec/requests/api/discussions_spec.rb": 33.83013238300009,5105 "ee/spec/requests/groups/group_members_controller_spec.rb": 24.833478998999453,5106 "ee/spec/requests/api/vulnerability_exports_spec.rb": 14.218369899999743,5107 "ee/spec/requests/api/internal/base_spec.rb": 18.15858338900034,5108 "ee/spec/requests/git_http_spec.rb": 22.07200646000092,5109 "ee/spec/requests/api/graphql/group_query_spec.rb": 19.32405073099835,5110 "ee/spec/controllers/groups/audit_events_controller_spec.rb": 10.120625389999987,5111 "ee/spec/requests/api/group_hooks_spec.rb": 13.89132269699985,5112 "ee/spec/requests/api/epic_boards_spec.rb": 9.551364971999647,5113 "ee/spec/requests/api/graphql/compliance_management/merge_requests/compliance_violations_spec.rb": 14.367691569999806,5114 "ee/spec/controllers/groups/billings_controller_spec.rb": 12.125909782000235,5115 "ee/spec/controllers/groups/analytics/tasks_by_type_controller_spec.rb": 12.89158113600024,5116 "ee/spec/requests/smartcard_controller_spec.rb": 4.862664506001238,5117 "ee/spec/controllers/admin/clusters_controller_spec.rb": 11.40701078300117,5118 "ee/spec/requests/ee/registrations_controller_spec.rb": 6.369343899001251,5119 "ee/spec/requests/api/graphql/iteration_spec.rb": 9.330203325000184,5120 "ee/spec/controllers/projects/feature_flag_issues_controller_spec.rb": 9.059308740999768,5121 "ee/spec/requests/api/project_clusters_spec.rb": 10.620367569001246,5122 "ee/spec/requests/api/boards_spec.rb": 7.755706877000193,5123 "ee/spec/requests/api/audit_events_spec.rb": 5.56410726499962,5124 "ee/spec/requests/api/todos_spec.rb": 8.448749336001129,5125 "ee/spec/controllers/projects/deploy_keys_controller_spec.rb": 6.96545651300039,5126 "ee/spec/controllers/groups/iterations_controller_spec.rb": 5.6084271620002255,5127 "ee/spec/requests/projects/analytics/cycle_analytics/stages_controller_spec.rb": 6.059431976000269,5128 "ee/spec/requests/api/analytics/code_review_analytics_spec.rb": 5.192648627000381,5129 "ee/spec/requests/api/graphql/group/labels_query_spec.rb": 4.9008247229994595,5130 "ee/spec/controllers/oauth/geo_auth_controller_spec.rb": 8.432539358000213,5131 "ee/spec/controllers/ee/registrations/welcome_controller_spec.rb": 4.569144763001532,5132 "ee/spec/requests/api/graphql/project/requirements_management/test_reports_spec.rb": 5.442358971999056,5133 "ee/spec/requests/api/graphql/mutations/security/finding/revert_to_detected_spec.rb": 5.909843935000026,5134 "ee/spec/controllers/admin/dev_ops_report_controller_spec.rb": 2.938136938999378,5135 "ee/spec/requests/api/group_variables_spec.rb": 6.7397241959988605,5136 "ee/spec/controllers/ee/dashboard/projects_controller_spec.rb": 5.435833143001219,5137 "ee/spec/requests/api/graphql/projects/compliance_frameworks_spec.rb": 5.190575286998865,5138 "ee/spec/controllers/groups/analytics/cycle_analytics_controller_spec.rb": 4.493874708001385,5139 "ee/spec/requests/api/graphql/project/pipeline/security_report_finding_spec.rb": 5.477421590998347,5140 "ee/spec/requests/api/graphql/gitlab_subscriptions/preview_billable_user_change_spec.rb": 4.88262311499966,5141 "ee/spec/requests/api/protected_tags_spec.rb": 4.592615902000034,5142 "ee/spec/mailers/ee/emails/admin_notification_spec.rb": 3.6594938159996673,5143 "ee/spec/controllers/projects/iterations_controller_spec.rb": 2.784353737000856,5144 "ee/spec/requests/projects/requirements_management/requirements_controller_spec.rb": 3.444603788999302,5145 "ee/spec/requests/groups/protected_environments_controller_spec.rb": 3.7957369380001182,5146 "ee/spec/requests/api/graphql/project/environments_spec.rb": 4.868508846000623,5147 "ee/spec/requests/api/graphql/mutations/issues/set_weight_spec.rb": 4.310852818000058,5148 "ee/spec/requests/api/graphql/namespace/compliance_frameworks_spec.rb": 3.3655749930003367,5149 "ee/spec/controllers/projects/branches_controller_spec.rb": 5.036000606000016,5150 "ee/spec/requests/api/graphql/audit_events/streaming/headers/create_spec.rb": 2.5260226219998003,5151 "ee/spec/requests/api/graphql/mutations/dast/profiles/run_spec.rb": 4.255502351999894,5152 "ee/spec/requests/api/graphql/namespace/projects_spec.rb": 4.734265203000177,5153 "ee/spec/requests/api/graphql/project/issue_status_counts_spec.rb": 3.7808934089989634,5154 "ee/spec/controllers/ee/groups/usage_quotas_controller_spec.rb": 2.13356169600047,5155 "ee/spec/controllers/groups/scim_oauth_controller_spec.rb": 3.1837058839992096,5156 "ee/spec/requests/api/graphql/project/incident_management/escalation_policies_spec.rb": 3.9243324199997005,5157 "ee/spec/requests/api/graphql/mutations/issues/set_epic_spec.rb": 3.0870587889985472,5158 "ee/spec/requests/groups/analytics/devops_adoption_controller_spec.rb": 2.962827376999485,5159 "ee/spec/mailers/emails/merge_commits_spec.rb": 2.7054075919986644,5160 "ee/spec/requests/api/graphql/product_analytics/dashboards_spec.rb": 2.105775366000671,5161 "ee/spec/requests/api/graphql/project/branch_rules/external_status_checks_spec.rb": 2.342375872998673,5162 "ee/spec/requests/api/graphql/project/pipeline/security_report_findings_spec.rb": 3.2279903020007623,5163 "ee/spec/requests/api/graphql/project/requirements_management/requirement_counts_spec.rb": 2.374302231000911,5164 "ee/spec/requests/api/graphql/ci/catalog/resources_spec.rb": 1.7979583749984158,5165 "ee/spec/requests/api/graphql/project/dast_scanner_profiles_spec.rb": 2.430327457999738,5166 "ee/spec/controllers/projects/pages_controller_spec.rb": 2.501143093999417,5167 "ee/spec/requests/api/graphql/mutations/users/abuse/namespace_bans/destroy_spec.rb": 1.194821850000153,5168 "ee/spec/requests/api/graphql/mutations/boards/lists/update_limit_metrics_spec.rb": 1.8865346599995974,5169 "ee/spec/requests/api/graphql/audit_events/streaming/event_type_filters/delete_spec.rb": 2.192508721000195,5170 "ee/spec/controllers/projects/settings/integrations_controller_spec.rb": 2.215704239999468,5171 "ee/spec/controllers/admin/users_controller_spec.rb": 2.050191520000226,5172 "ee/spec/requests/api/graphql/issue/issue_spec.rb": 2.266589507999015,5173 "ee/spec/requests/api/graphql/group/epic/epic_ancestors_spec.rb": 2.0097681709994504,5174 "ee/spec/requests/api/graphql/iterations/cadences_spec.rb": 1.9959300909995363,5175 "ee/spec/requests/api/graphql/ci/runners_spec.rb": 2.0239345310001227,5176 "ee/spec/requests/api/graphql/mutations/boards/epic_boards/destroy_spec.rb": 1.983164093000596,5177 "ee/spec/requests/registrations/project_creation_spec.rb": 2.3905339779994392,5178 "ee/spec/requests/api/integrations/slack/events_spec.rb": 1.393645097999979,5179 "ee/spec/requests/api/graphql/mutations/analytics/devops_adoption/enabled_namespaces/bulk_enable_spec.rb": 1.9758110030015814,5180 "ee/spec/controllers/groups/ldaps_controller_spec.rb": 1.6162336340003094,5181 "ee/spec/requests/api/helm_packages_spec.rb": 1.5244440400001622,5182 "ee/spec/requests/api/graphql/project/repository_spec.rb": 1.6489781520012912,5183 "ee/spec/requests/api/graphql/mutations/requirements_management/export_requirements_spec.rb": 1.643317942000067,5184 "ee/spec/requests/api/graphql/boards/epic_lists/update_spec.rb": 1.676396119999481,5185 "ee/spec/requests/api/rubygem_packages_spec.rb": 1.4222767559986096,5186 "ee/spec/requests/api/ci/runner/jobs_put_spec.rb": 1.6427552419991116,5187 "ee/spec/requests/api/integrations/slack/options_spec.rb": 1.421590265001214,5188 "ee/spec/requests/api/graphql/mutations/gitlab_subscriptions/activate_spec.rb": 1.5331001089998608,5189 "ee/spec/controllers/projects/iteration_cadences_controller_spec.rb": 1.3805621080009587,5190 "ee/spec/controllers/ee/projects/merge_requests/content_controller_spec.rb": 1.6726725610005815,5191 "ee/spec/controllers/security/vulnerabilities_controller_spec.rb": 1.130985232999592,5192 "ee/spec/mailers/ee/emails/issues_spec.rb": 0.9192186249983934,5193 "ee/spec/mailers/emails/group_memberships_spec.rb": 1.1999810289999004,5194 "ee/spec/controllers/ee/groups/settings/ci_cd_controller_spec.rb": 1.0736453169993183,5195 "ee/spec/controllers/country_states_controller_spec.rb": 0.5683030470008816,5196 "ee/spec/controllers/ee/admin/sessions_controller_spec.rb": 0.7684288939999533,5197 "ee/spec/controllers/profiles/billings_controller_spec.rb": 0.6801070100009383,5198 "ee/spec/requests/api/graphql/mutations/app_sec/fuzzing/api/ci_configuration/create_spec.rb": 0.9170398860005662,5199 "ee/spec/controllers/oauth/applications_controller_spec.rb": 0.4312377740006923,5200 "ee/spec/mailers/emails/user_cap_spec.rb": 0.51520864899976,5201 "ee/spec/controllers/admin/applications_controller_spec.rb": 0.52480062900031045202}5203Knapsack global time execution for tests: 15m5204Pending: (Failures listed here are expected and do not affect your suite's status)5205 1) API::Wikis GET /groups/:id/wikis when wiki is available only for team members when user is guest returns 404 Group Not Found5206 # Temporarily skipped with xcontext5207 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1835208 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 pages5209 # Temporarily skipped with xcontext5210 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:385211 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 content5212 # Temporarily skipped with xcontext5213 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:105214 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 content5215 # Temporarily skipped with xcontext5216 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:235217 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 pages5218 # Temporarily skipped with xcontext5219 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:385220 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 content5221 # Temporarily skipped with xcontext5222 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:105223 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 content5224 # Temporarily skipped with xcontext5225 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:235226 8) API::Wikis GET /groups/:id/wikis/:slug when wiki is available only for team members when user is guest returns 404 Group Not Found5227 # Temporarily skipped with xcontext5228 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1835229 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 5230 # Temporarily skipped with xcontext5231 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:545232 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 5233 # Temporarily skipped with xcontext5234 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:545235 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 5236 # Temporarily skipped with xcontext5237 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:545238 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 version5239 # Temporarily skipped with xcontext5240 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:955241 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 version5242 # Temporarily skipped with xcontext5243 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1035244 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 Found5245 # Temporarily skipped with xcontext5246 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1755247 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 Found5248 # Temporarily skipped with xcontext5249 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1755250 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 5251 # Temporarily skipped with xcontext5252 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:545253 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 5254 # Temporarily skipped with xcontext5255 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:545256 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 5257 # Temporarily skipped with xcontext5258 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:545259 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 version5260 # Temporarily skipped with xcontext5261 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:955262 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 version5263 # Temporarily skipped with xcontext5264 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1035265 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 Found5266 # Temporarily skipped with xcontext5267 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1755268 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 Found5269 # Temporarily skipped with xcontext5270 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1755271 23) API::Wikis POST /groups/:id/wikis when wiki is available only for team members when user is guest returns 404 Group Not Found5272 # Temporarily skipped with xcontext5273 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1835274 24) API::Wikis POST /groups/:id/wikis when wiki is available only for team members when user is developer creates the wiki page5275 # Temporarily skipped with xcontext5276 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1175277 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 title5278 # Temporarily skipped with xcontext5279 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1315280 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 content5281 # Temporarily skipped with xcontext5282 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1315283 27) API::Wikis POST /groups/:id/wikis when wiki is available only for team members when user is maintainer creates the wiki page5284 # Temporarily skipped with xcontext5285 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1175286 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 title5287 # Temporarily skipped with xcontext5288 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1315289 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 content5290 # Temporarily skipped with xcontext5291 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1315292 30) API::Wikis PUT /group/:id/wikis/:slug when wiki is available only for team members when user is guest returns 404 Group Not Found5293 # Temporarily skipped with xcontext5294 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1835295 31) API::Wikis PUT /group/:id/wikis/:slug when wiki is available only for team members when user is developer updates the wiki page5296 # Temporarily skipped with xcontext5297 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1445298 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 title5299 # Temporarily skipped with xcontext5300 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1565301 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 content5302 # Temporarily skipped with xcontext5303 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1565304 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 format5305 # Temporarily skipped with xcontext5306 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1565307 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 Found5308 # Temporarily skipped with xcontext5309 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1755310 36) API::Wikis PUT /group/:id/wikis/:slug when wiki is available only for team members when user is maintainer updates the wiki page5311 # Temporarily skipped with xcontext5312 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1445313 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 title5314 # Temporarily skipped with xcontext5315 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1565316 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 content5317 # Temporarily skipped with xcontext5318 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1565319 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 format5320 # Temporarily skipped with xcontext5321 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1565322 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 Found5323 # Temporarily skipped with xcontext5324 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1755325 41) API::Wikis DELETE /groups/:id/wikis/:slug when wiki is available only for team members when user is guest returns 404 Group Not Found5326 # Temporarily skipped with xcontext5327 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1835328 42) API::Wikis DELETE /groups/:id/wikis/:slug when wiki is available only for team members when user is developer returns 403 Forbidden5329 # Temporarily skipped with xcontext5330 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1675331 43) API::Wikis DELETE /groups/:id/wikis/:slug when wiki is available only for team members when user is maintainer returns 204 No Content5332 # Temporarily skipped with xcontext5333 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1915334 44) API::Wikis POST /groups/:id/wikis/attachments when wiki is available only for team members when user is guest returns 404 Group Not Found5335 # Temporarily skipped with xcontext5336 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1835337 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 repository5338 # Temporarily skipped with xcontext5339 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1975340 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 file5341 # Temporarily skipped with xcontext5342 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:2065343 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 file5344 # Temporarily skipped with xcontext5345 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:2165346 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 uploads5347 # Temporarily skipped with xcontext5348 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:2265349 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 repository5350 # Temporarily skipped with xcontext5351 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:1975352 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 file5353 # Temporarily skipped with xcontext5354 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:2065355 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 file5356 # Temporarily skipped with xcontext5357 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:2165358 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 uploads5359 # Temporarily skipped with xcontext5360 # ./spec/support/shared_examples/lib/wikis_api_examples.rb:2265361Finished in 15 minutes 4 seconds (files took 1 minute 5.73 seconds to load)53621767 examples, 0 failures, 52 pending5363Randomized with seed 630095364[TEST PROF INFO] Time spent in factories: 06:24.046 (41.14% of total time)5365RSpec exited with 0.5366No examples to retry, congrats!5368Not uploading cache ruby-gems-debian-bullseye-ruby-3.0-16 due to policy5370Uploading artifacts...5371coverage/: found 5 matching artifact files and directories 5372WARNING: crystalball/: no matching files. Ensure that the artifact path is relative to the working directory (/builds/gitlab-org/gitlab) 5373deprecations/: found 7 matching artifact files and directories 5374knapsack/: found 3 matching artifact files and directories 5375query_recorder/: found 2 matching artifact files and directories 5376rspec/: found 8 matching artifact files and directories 5377WARNING: tmp/capybara/: no matching files. Ensure that the artifact path is relative to the working directory (/builds/gitlab-org/gitlab) 5378log/*.log: found 16 matching artifact files and directories 5379WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/4139146513/artifacts?artifact_format=zip&artifact_type=archive&expire_in=31d new-url=https://gitlab.com5380WARNING: Retrying... context=artifacts-uploader error=request redirected5381Uploading artifacts as "archive" to coordinator... 201 Created id=4139146513 responseStatus=201 Created token=64_-fX4C5382Uploading artifacts...5383rspec/junit_rspec.xml: found 1 matching artifact files and directories 5384WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/4139146513/artifacts?artifact_format=gzip&artifact_type=junit&expire_in=31d new-url=https://gitlab.com5385WARNING: Retrying... context=artifacts-uploader error=request redirected5386Uploading artifacts as "junit" to coordinator... 201 Created id=4139146513 responseStatus=201 Created token=64_-fX4C5388Job succeeded