rspec integration pg14 12/12
Passed Started
by
@dstull
Doug Stull
1Running with gitlab-runner 16.1.0~beta.59.g83c66823 (83c66823)2 on green-4.shared-gitlab-org.runners-manager.gitlab.com/default x5QiHUKw, system ID: s_b9637080a79e3 feature flags: FF_NETWORK_PER_BUILD:true, FF_USE_FASTZIP:true, FF_USE_IMPROVED_URL_MASKING:true, FF_RESOLVE_FULL_TLS_CHAIN:false6Using Docker executor with image registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0.patched-golang-1.20-rust-1.65-node-18.17-postgresql-14:rubygems-3.4-git-2.36-lfs-2.9-chrome-113-yarn-1.22-graphicsmagick-1.3.36 ...7Starting service registry.gitlab.com/gitlab-org/gitlab-build-images:postgres-14-pgvector-0.4.1 ...8Authenticating with credentials from job payload (GitLab Registry)9Pulling docker image registry.gitlab.com/gitlab-org/gitlab-build-images:postgres-14-pgvector-0.4.1 ...10Using docker image sha256:2e09e9db92541ed81b1c00f1d5186f8c262d8b84e8d1755676ea4b25614f30c4 for registry.gitlab.com/gitlab-org/gitlab-build-images:postgres-14-pgvector-0.4.1 with digest registry.gitlab.com/gitlab-org/gitlab-build-images@sha256:afc7bd7a60824044709543a6a700385e412d750d9ab4fc72b427e335e1d0f3ec ...11WARNING: Service registry.gitlab.com/gitlab-org/gitlab-build-images:redis-cluster-6.2.12 is already created. Ignoring.12WARNING: Service registry.gitlab.com/gitlab-org/gitlab-build-images:redis-cluster-6.2.12 is already created. Ignoring.13Starting service registry.gitlab.com/gitlab-org/gitlab-build-images:redis-cluster-6.2.12 ...14Authenticating with credentials from job payload (GitLab Registry)15Pulling docker image registry.gitlab.com/gitlab-org/gitlab-build-images:redis-cluster-6.2.12 ...16Using docker image sha256:a9a90ece30d9630d694ab1997cd103ea8ec729789451b983a75c7b58b0062d45 for registry.gitlab.com/gitlab-org/gitlab-build-images:redis-cluster-6.2.12 with digest registry.gitlab.com/gitlab-org/gitlab-build-images@sha256:7ef36177d5d0bc554fbb63d8210ae751bcc538bea7905b51d078d9ab90a755fa ...17Starting service redis:6.2-alpine ...18Pulling docker image redis:6.2-alpine ...19Using docker image sha256:d0675d033b87382205d08b598a004a99a1f6c4bd377cc86bb6df8957ce7dbb1c for redis:6.2-alpine with digest redis@sha256:740b5c973d1c9eea6e124a3905ba73d32354d0549f98ccc9e67af1af2a9ba478 ...20Waiting for services to be up and running (timeout 30 seconds)...21Authenticating with credentials from job payload (GitLab Registry)22Pulling docker image registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0.patched-golang-1.20-rust-1.65-node-18.17-postgresql-14:rubygems-3.4-git-2.36-lfs-2.9-chrome-113-yarn-1.22-graphicsmagick-1.3.36 ...23Using docker image sha256:3e6c24d49ca804019e2cfcf4951ed994b550043ce6af3757cb550e8c78892a99 for registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0.patched-golang-1.20-rust-1.65-node-18.17-postgresql-14:rubygems-3.4-git-2.36-lfs-2.9-chrome-113-yarn-1.22-graphicsmagick-1.3.36 with digest registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0.patched-golang-1.20-rust-1.65-node-18.17-postgresql-14@sha256:50215d6eb4fdf053dfc39bc8a540c94a214139ba2a583092099c9eac46201eee ...25Running on runner-x5qihukw-project-278964-concurrent-0 via runner-x5qihukw-shared-gitlab-org-1692360156-b1648e84...27Fetching changes with git depth set to 20...28Initialized empty Git repository in /builds/gitlab-org/gitlab/.git/29Created fresh repository.30remote: Enumerating objects: 150271, done. 31remote: Counting objects: 100% (150271/150271), done. 32remote: Compressing objects: 100% (97595/97595), done. 33remote: Total 150271 (delta 67215), reused 103431 (delta 46893), pack-reused 0 34Receiving objects: 100% (150271/150271), 124.68 MiB | 28.11 MiB/s, done.35Resolving deltas: 100% (67215/67215), done.37 * [new ref] refs/pipelines/972262671 -> refs/pipelines/97226267138Checking out 3f92a6c3 as detached HEAD (ref is refs/merge-requests/129383/merge)...39Skipping Git submodules setup40$ git remote set-url origin "${CI_REPOSITORY_URL}"42Checking cache for ruby-gems-debian-bullseye-ruby-3.0-16...43cache.zip is up to date 44Successfully extracted cache46Downloading artifacts for compile-test-assets (4900739220)...47Downloading artifacts from coordinator... ok host=storage.googleapis.com id=4900739220 responseStatus=200 OK token=64_qdu8H48Downloading artifacts for detect-tests (4900739241)...49Downloading artifacts from coordinator... ok host=storage.googleapis.com id=4900739241 responseStatus=200 OK token=64_qdu8H50Downloading artifacts for retrieve-tests-metadata (4900739253)...51Downloading artifacts from coordinator... ok host=storage.googleapis.com id=4900739253 responseStatus=200 OK token=64_qdu8H52Downloading artifacts for setup-test-env (4900739227)...53Downloading artifacts from coordinator... ok host=storage.googleapis.com id=4900739227 responseStatus=200 OK token=64_qdu8H55Using docker image sha256:3e6c24d49ca804019e2cfcf4951ed994b550043ce6af3757cb550e8c78892a99 for registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0.patched-golang-1.20-rust-1.65-node-18.17-postgresql-14:rubygems-3.4-git-2.36-lfs-2.9-chrome-113-yarn-1.22-graphicsmagick-1.3.36 with digest registry.gitlab.com/gitlab-org/gitlab-build-images/debian-bullseye-ruby-3.0.patched-golang-1.20-rust-1.65-node-18.17-postgresql-14@sha256:50215d6eb4fdf053dfc39bc8a540c94a214139ba2a583092099c9eac46201eee ...56$ echo $FOSS_ONLY57$ [ "$FOSS_ONLY" = "1" ] && rm -rf ee/ qa/spec/ee/ qa/qa/specs/features/ee/ qa/qa/ee/ qa/qa/ee.rb58$ export GOPATH=$CI_PROJECT_DIR/.go59$ mkdir -p $GOPATH60$ source scripts/utils.sh61$ source scripts/prepare_build.sh93Using decomposed database config (config/database.yml.decomposed-postgresql)94Geo DB won't be set up.95Embedding DB won't be set up.107$ source ./scripts/rspec_helpers.sh108$ run_timed_command "gem install knapsack --no-document"109$ gem install knapsack --no-document110Successfully installed knapsack-4.0.01111 gem installed112==> 'gem install knapsack --no-document' succeeded in 1 seconds.113$ section_start "gitaly-test-spawn" "Spawning Gitaly"; scripts/gitaly-test-spawn; section_end "gitaly-test-spawn"118$ export RSPEC_SKIPPED_TESTS_REPORT_PATH="rspec/skipped_tests-${CI_JOB_ID}.txt"119$ export RSPEC_RETRIED_TESTS_REPORT_PATH="rspec/retried_tests-${CI_JOB_ID}.txt"120$ rspec_paralellized_job "--fail-fast=${RSPEC_FAIL_FAST_THRESHOLD} --tag ~quarantine --tag ~level:background_migration --tag ~click_house"121SKIP_FLAKY_TESTS_AUTOMATICALLY: 122RETRY_FAILED_TESTS_IN_NEW_PROCESS: true123KNAPSACK_GENERATE_REPORT: true124FLAKY_RSPEC_GENERATE_REPORT: true125KNAPSACK_TEST_FILE_PATTERN: spec/{commands,controllers,mailers,requests}{,/**/}*_spec.rb126KNAPSACK_LOG_LEVEL: debug127KNAPSACK_REPORT_PATH: knapsack/rspec_integration_pg14_12_12_report.json128FLAKY_RSPEC_SUITE_REPORT_PATH: rspec/flaky/report-suite.json129FLAKY_RSPEC_REPORT_PATH: rspec/flaky/all_rspec_integration_pg14_12_12_report.json130NEW_FLAKY_RSPEC_REPORT_PATH: rspec/flaky/new_rspec_integration_pg14_12_12_report.json131RSPEC_SKIPPED_TESTS_REPORT_PATH: rspec/skipped_tests-4900739561.txt132CRYSTALBALL: 133RSPEC_TESTS_MAPPING_ENABLED: 134RSPEC_TESTS_FILTER_FILE: 135Shell set options (set -o) enabled:136braceexpand on137hashall on138interactive-comments on139pipefail on140Knapsack report generator started!141/builds/gitlab-org/gitlab/ee/app/services/remote_development/service_response_factory.rb:41: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!142/builds/gitlab-org/gitlab/ee/app/services/remote_development/workspaces/create_service.rb:28: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!143/builds/gitlab-org/gitlab/ee/app/services/remote_development/workspaces/reconcile_service.rb:38: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!144/builds/gitlab-org/gitlab/ee/app/services/remote_development/workspaces/update_service.rb:28: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!145/builds/gitlab-org/gitlab/ee/lib/remote_development/agent_config/main.rb:32: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!146/builds/gitlab-org/gitlab/ee/lib/remote_development/agent_config/updater.rb:11: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!147/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/authorizer.rb:12: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!148/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/authorizer.rb:13: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!149/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/creator.rb:17: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!150/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/creator.rb:24: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!151/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/creator.rb:25: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!152/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/creator.rb:28: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!153/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/devfile_fetcher.rb:15: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!154/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/devfile_fetcher.rb:16: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!155/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/devfile_flattener.rb:12: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!156/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/editor_component_injector.rb:12: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!157/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/editor_component_injector.rb:17: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!158/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/editor_component_injector.rb:18: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!159/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/post_flatten_devfile_validator.rb:43: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!160/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/post_flatten_devfile_validator.rb:54: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!161/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/post_flatten_devfile_validator.rb:102: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!162/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/post_flatten_devfile_validator.rb:126: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!163/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/post_flatten_devfile_validator.rb:159: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!164/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/post_flatten_devfile_validator.rb:202: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!165/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/post_flatten_devfile_validator.rb:235: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!166/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/pre_flatten_devfile_validator.rb:24: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!167/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/pre_flatten_devfile_validator.rb:52: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!168/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/project_cloner_component_injector.rb:12: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!169/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/project_cloner_component_injector.rb:17: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!170/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/project_cloner_component_injector.rb:18: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!171/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/project_cloner_component_injector.rb:23: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!172/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/volume_component_injector.rb:12: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!173/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/volume_component_injector.rb:13: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!174/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/create/volume_component_injector.rb:14: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!175/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/reconcile/main.rb:43: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!176/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/update/authorizer.rb:12: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!177/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/update/updater.rb:12: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!178/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/reconcile/input/agent_infos_observer.rb:15: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!179/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/reconcile/input/params_extractor.rb:14: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!180/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/reconcile/input/params_extractor.rb:16: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!181/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/reconcile/input/params_to_infos_converter.rb:14: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!182/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/reconcile/input/params_validator.rb:15: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!183/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/reconcile/output/rails_infos_observer.rb:11: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!184/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/reconcile/output/workspaces_to_rails_infos_converter.rb:15: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!185/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/reconcile/persistence/orphaned_workspaces_observer.rb:12: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!186/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/reconcile/persistence/workspaces_from_agent_infos_updater.rb:15: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!187/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/reconcile/persistence/workspaces_to_be_returned_finder.rb:16: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!188/builds/gitlab-org/gitlab/ee/lib/remote_development/workspaces/reconcile/persistence/workspaces_to_be_returned_updater.rb:11: warning: One-line pattern matching is experimental, and the behavior may change in future versions of Ruby!189Run options: exclude {:quarantine=>true, :level=>"background_migration", :click_house=>true}190Test environment set up in 0.564458571 seconds191getting merge request listings nested in a project192 behaves like a working graphql query193 returns a successful response194 when requesting a single field195 when selecting any single scalar field196 field: "createdAt"197 selects the correct MR198 field: "description"199 selects the correct MR200 field: "diffHeadSha"201 selects the correct MR202 field: "draft"203 selects the correct MR204 field: "id"205 selects the correct MR206 field: "iid"207 selects the correct MR208 field: "mergeWhenPipelineSucceeds"209 selects the correct MR210 field: "mergedAt"211 selects the correct MR212 field: "projectId"213 selects the correct MR214 field: "sourceBranch"215 selects the correct MR216 field: "sourceBranchProtected"217 selects the correct MR218 field: "sourceProjectId"219 selects the correct MR220 field: "state"221 selects the correct MR222 field: "targetBranch"223 selects the correct MR224 field: "targetProjectId"225 selects the correct MR226 field: "title"227 selects the correct MR228 field: "updatedAt"229 selects the correct MR230 field: "allowCollaboration"231 selects the correct MR232 field: "defaultMergeCommitMessage"233 selects the correct MR234 field: "defaultSquashCommitMessage"235 selects the correct MR236 field: "divergedFromTargetBranch"237 selects the correct MR238 field: "downvotes"239 selects the correct MR240 field: "forceRemoveSourceBranch"241 selects the correct MR242 field: "inProgressMergeCommitSha"243 selects the correct MR244 field: "mergeCommitSha"245 selects the correct MR246 field: "mergeError"247 selects the correct MR248 field: "mergeOngoing"249 selects the correct MR250 field: "mergeStatus"251 selects the correct MR252 field: "mergeStatusEnum"253 selects the correct MR254 field: "detailedMergeStatus"255 selects the correct MR256 field: "mergeableDiscussionsState"257 selects the correct MR258 field: "rebaseCommitSha"259 selects the correct MR260 field: "rebaseInProgress"261 selects the correct MR262 field: "shouldBeRebased"263 selects the correct MR264 field: "shouldRemoveSourceBranch"265 selects the correct MR266 field: "sourceBranchExists"267 selects the correct MR268 field: "targetBranchExists"269 selects the correct MR270 field: "upvotes"271 selects the correct MR272 field: "userDiscussionsCount"273 selects the correct MR274 field: "userNotesCount"275 selects the correct MR276 field: "webUrl"277 selects the correct MR278 field: "discussionLocked"279 selects the correct MR280 field: "humanTimeEstimate"281 selects the correct MR282 field: "humanTotalTimeSpent"283 selects the correct MR284 field: "reference"285 selects the correct MR286 field: "autoMergeEnabled"287 selects the correct MR288 field: "commitCount"289 selects the correct MR290 field: "conflicts"291 selects the correct MR292 field: "subscribed"293 selects the correct MR294 field: "timeEstimate"295 selects the correct MR296 field: "totalTimeSpent"297 selects the correct MR298 field: "approved"299 selects the correct MR300 field: "autoMergeStrategy"301 selects the correct MR302 field: "availableAutoMergeStrategies"303 selects the correct MR304 field: "hasCi"305 selects the correct MR306 field: "mergeable"307 selects the correct MR308 field: "securityAutoFix"309 selects the correct MR310 field: "squash"311 selects the correct MR312 field: "squashOnMerge"313 selects the correct MR314 field: "preparedAt"315 selects the correct MR316 field: "titleHtml"317 selects the correct MR318 field: "descriptionHtml"319 selects the correct MR320 field: "approvalsLeft"321 selects the correct MR322 field: "approvalsRequired"323 selects the correct MR324 field: "mergeTrainsCount"325 selects the correct MR326 field: "hasSecurityReports"327 selects the correct MR328 field: "securityReportsUpToDateOnTargetBranch"329 selects the correct MR330 when selecting any single nested field331 field: "userPermissions", subfield: "readMergeRequest", is_connection: false332 selects the correct MR333 field: "userPermissions", subfield: "adminMergeRequest", is_connection: false334 selects the correct MR335 field: "userPermissions", subfield: "updateMergeRequest", is_connection: false336 selects the correct MR337 field: "userPermissions", subfield: "createNote", is_connection: false338 selects the correct MR339 field: "userPermissions", subfield: "pushToSourceBranch", is_connection: false340 selects the correct MR341 field: "userPermissions", subfield: "removeSourceBranch", is_connection: false342 selects the correct MR343 field: "userPermissions", subfield: "cherryPickOnCurrentMergeRequest", is_connection: false344 selects the correct MR345 field: "userPermissions", subfield: "revertOnCurrentMergeRequest", is_connection: false346 selects the correct MR347 field: "userPermissions", subfield: "canMerge", is_connection: false348 selects the correct MR349 field: "userPermissions", subfield: "canApprove", is_connection: false350 selects the correct MR351 field: "diffRefs", subfield: "baseSha", is_connection: false352 selects the correct MR353 field: "diffRefs", subfield: "headSha", is_connection: false354 selects the correct MR355 field: "diffRefs", subfield: "startSha", is_connection: false356 selects the correct MR357 field: "diffStats", subfield: "additions", is_connection: false358 selects the correct MR359 field: "diffStats", subfield: "deletions", is_connection: false360 selects the correct MR361 field: "diffStats", subfield: "path", is_connection: false362 selects the correct MR363 field: "project", subfield: "id", is_connection: false364 selects the correct MR365 field: "project", subfield: "ciConfigPathOrDefault", is_connection: false366 selects the correct MR367 field: "project", subfield: "fullPath", is_connection: false368 selects the correct MR369 field: "project", subfield: "path", is_connection: false370 selects the correct MR371 field: "project", subfield: "name", is_connection: false372 selects the correct MR373 field: "project", subfield: "nameWithNamespace", is_connection: false374 selects the correct MR375 field: "project", subfield: "description", is_connection: false376 selects the correct MR377 field: "project", subfield: "tagList", is_connection: false378 selects the correct MR379 field: "project", subfield: "topics", is_connection: false380 selects the correct MR381 field: "project", subfield: "httpUrlToRepo", is_connection: false382 selects the correct MR383 field: "project", subfield: "sshUrlToRepo", is_connection: false384 selects the correct MR385 field: "project", subfield: "webUrl", is_connection: false386 selects the correct MR387 field: "project", subfield: "forksCount", is_connection: false388 selects the correct MR389 field: "project", subfield: "starCount", is_connection: false390 selects the correct MR391 field: "project", subfield: "createdAt", is_connection: false392 selects the correct MR393 field: "project", subfield: "lastActivityAt", is_connection: false394 selects the correct MR395 field: "project", subfield: "archived", is_connection: false396 selects the correct MR397 field: "project", subfield: "visibility", is_connection: false398 selects the correct MR399 field: "project", subfield: "lfsEnabled", is_connection: false400 selects the correct MR401 field: "project", subfield: "mergeRequestsFfOnlyEnabled", is_connection: false402 selects the correct MR403 field: "project", subfield: "sharedRunnersEnabled", is_connection: false404 selects the correct MR405 field: "project", subfield: "serviceDeskEnabled", is_connection: false406 selects the correct MR407 field: "project", subfield: "serviceDeskAddress", is_connection: false408 selects the correct MR409 field: "project", subfield: "avatarUrl", is_connection: false410 selects the correct MR411 field: "project", subfield: "jobsEnabled", is_connection: false412 selects the correct MR413 field: "project", subfield: "isCatalogResource", is_connection: false414 selects the correct MR415 field: "project", subfield: "publicJobs", is_connection: false416 selects the correct MR417 field: "project", subfield: "openIssuesCount", is_connection: false418 selects the correct MR419 field: "project", subfield: "allowMergeOnSkippedPipeline", is_connection: false420 selects the correct MR421 field: "project", subfield: "autocloseReferencedIssues", is_connection: false422 selects the correct MR423 field: "project", subfield: "importStatus", is_connection: false424 selects the correct MR425 field: "project", subfield: "jiraImportStatus", is_connection: false426 selects the correct MR427 field: "project", subfield: "onlyAllowMergeIfAllDiscussionsAreResolved", is_connection: false428 selects the correct MR429 field: "project", subfield: "onlyAllowMergeIfPipelineSucceeds", is_connection: false430 selects the correct MR431 field: "project", subfield: "printingMergeRequestLinkEnabled", is_connection: false432 selects the correct MR433 field: "project", subfield: "removeSourceBranchAfterMerge", is_connection: false434 selects the correct MR435 field: "project", subfield: "requestAccessEnabled", is_connection: false436 selects the correct MR437 field: "project", subfield: "squashReadOnly", is_connection: false438 selects the correct MR439 field: "project", subfield: "suggestionCommitMessage", is_connection: false440 selects the correct MR441 field: "project", subfield: "containerRepositoriesCount", is_connection: false442 selects the correct MR443 field: "project", subfield: "mergeCommitTemplate", is_connection: false444 selects the correct MR445 field: "project", subfield: "squashCommitTemplate", is_connection: false446 selects the correct MR447 field: "project", subfield: "issuesEnabled", is_connection: false448 selects the correct MR449 field: "project", subfield: "mergeRequestsEnabled", is_connection: false450 selects the correct MR451 field: "project", subfield: "wikiEnabled", is_connection: false452 selects the correct MR453 field: "project", subfield: "snippetsEnabled", is_connection: false454 selects the correct MR455 field: "project", subfield: "containerRegistryEnabled", is_connection: false456 selects the correct MR457 field: "project", subfield: "descriptionHtml", is_connection: false458 selects the correct MR459 field: "project", subfield: "securityDashboardPath", is_connection: false460 selects the correct MR461 field: "project", subfield: "repositorySizeExcess", is_connection: false462 selects the correct MR463 field: "project", subfield: "actualRepositorySizeLimit", is_connection: false464 selects the correct MR465 field: "project", subfield: "onlyAllowMergeIfAllStatusChecksPassed", is_connection: false466 selects the correct MR467 field: "project", subfield: "productAnalyticsState", is_connection: false468 selects the correct MR469 field: "project", subfield: "trackingKey", is_connection: false470 selects the correct MR471 field: "project", subfield: "productAnalyticsInstrumentationKey", is_connection: false472 selects the correct MR473 field: "project", subfield: "mergeRequestsDisableCommittersApproval", is_connection: false474 selects the correct MR475 field: "project", subfield: "hasJiraVulnerabilityIssueCreationEnabled", is_connection: false476 selects the correct MR477 field: "sourceProject", subfield: "id", is_connection: false478 selects the correct MR479 field: "sourceProject", subfield: "ciConfigPathOrDefault", is_connection: false480 selects the correct MR481 field: "sourceProject", subfield: "fullPath", is_connection: false482 selects the correct MR483 field: "sourceProject", subfield: "path", is_connection: false484 selects the correct MR485 field: "sourceProject", subfield: "name", is_connection: false486 selects the correct MR487 field: "sourceProject", subfield: "nameWithNamespace", is_connection: false488 selects the correct MR489 field: "sourceProject", subfield: "description", is_connection: false490 selects the correct MR491 field: "sourceProject", subfield: "tagList", is_connection: false492 selects the correct MR493 field: "sourceProject", subfield: "topics", is_connection: false494 selects the correct MR495 field: "sourceProject", subfield: "httpUrlToRepo", is_connection: false496 selects the correct MR497 field: "sourceProject", subfield: "sshUrlToRepo", is_connection: false498 selects the correct MR499 field: "sourceProject", subfield: "webUrl", is_connection: false500 selects the correct MR501 field: "sourceProject", subfield: "forksCount", is_connection: false502 selects the correct MR503 field: "sourceProject", subfield: "starCount", is_connection: false504 selects the correct MR505 field: "sourceProject", subfield: "createdAt", is_connection: false506 selects the correct MR507 field: "sourceProject", subfield: "lastActivityAt", is_connection: false508 selects the correct MR509 field: "sourceProject", subfield: "archived", is_connection: false510 selects the correct MR511 field: "sourceProject", subfield: "visibility", is_connection: false512 selects the correct MR513 field: "sourceProject", subfield: "lfsEnabled", is_connection: false514 selects the correct MR515 field: "sourceProject", subfield: "mergeRequestsFfOnlyEnabled", is_connection: false516 selects the correct MR517 field: "sourceProject", subfield: "sharedRunnersEnabled", is_connection: false518 selects the correct MR519 field: "sourceProject", subfield: "serviceDeskEnabled", is_connection: false520 selects the correct MR521 field: "sourceProject", subfield: "serviceDeskAddress", is_connection: false522 selects the correct MR523 field: "sourceProject", subfield: "avatarUrl", is_connection: false524 selects the correct MR525 field: "sourceProject", subfield: "jobsEnabled", is_connection: false526 selects the correct MR527 field: "sourceProject", subfield: "isCatalogResource", is_connection: false528 selects the correct MR529 field: "sourceProject", subfield: "publicJobs", is_connection: false530 selects the correct MR531 field: "sourceProject", subfield: "openIssuesCount", is_connection: false532 selects the correct MR533 field: "sourceProject", subfield: "allowMergeOnSkippedPipeline", is_connection: false534 selects the correct MR535 field: "sourceProject", subfield: "autocloseReferencedIssues", is_connection: false536 selects the correct MR537 field: "sourceProject", subfield: "importStatus", is_connection: false538 selects the correct MR539 field: "sourceProject", subfield: "jiraImportStatus", is_connection: false540 selects the correct MR541 field: "sourceProject", subfield: "onlyAllowMergeIfAllDiscussionsAreResolved", is_connection: false542 selects the correct MR543 field: "sourceProject", subfield: "onlyAllowMergeIfPipelineSucceeds", is_connection: false544 selects the correct MR545 field: "sourceProject", subfield: "printingMergeRequestLinkEnabled", is_connection: false546 selects the correct MR547 field: "sourceProject", subfield: "removeSourceBranchAfterMerge", is_connection: false548 selects the correct MR549 field: "sourceProject", subfield: "requestAccessEnabled", is_connection: false550 selects the correct MR551 field: "sourceProject", subfield: "squashReadOnly", is_connection: false552 selects the correct MR553 field: "sourceProject", subfield: "suggestionCommitMessage", is_connection: false554 selects the correct MR555 field: "sourceProject", subfield: "containerRepositoriesCount", is_connection: false556 selects the correct MR557 field: "sourceProject", subfield: "mergeCommitTemplate", is_connection: false558 selects the correct MR559 field: "sourceProject", subfield: "squashCommitTemplate", is_connection: false560 selects the correct MR561 field: "sourceProject", subfield: "issuesEnabled", is_connection: false562 selects the correct MR563 field: "sourceProject", subfield: "mergeRequestsEnabled", is_connection: false564 selects the correct MR565 field: "sourceProject", subfield: "wikiEnabled", is_connection: false566 selects the correct MR567 field: "sourceProject", subfield: "snippetsEnabled", is_connection: false568 selects the correct MR569 field: "sourceProject", subfield: "containerRegistryEnabled", is_connection: false570 selects the correct MR571 field: "sourceProject", subfield: "descriptionHtml", is_connection: false572 selects the correct MR573 field: "sourceProject", subfield: "securityDashboardPath", is_connection: false574 selects the correct MR575 field: "sourceProject", subfield: "repositorySizeExcess", is_connection: false576 selects the correct MR577 field: "sourceProject", subfield: "actualRepositorySizeLimit", is_connection: false578 selects the correct MR579 field: "sourceProject", subfield: "onlyAllowMergeIfAllStatusChecksPassed", is_connection: false580 selects the correct MR581 field: "sourceProject", subfield: "productAnalyticsState", is_connection: false582 selects the correct MR583 field: "sourceProject", subfield: "trackingKey", is_connection: false584 selects the correct MR585 field: "sourceProject", subfield: "productAnalyticsInstrumentationKey", is_connection: false586 selects the correct MR587 field: "sourceProject", subfield: "mergeRequestsDisableCommittersApproval", is_connection: false588 selects the correct MR589 field: "sourceProject", subfield: "hasJiraVulnerabilityIssueCreationEnabled", is_connection: false590 selects the correct MR591 field: "targetProject", subfield: "id", is_connection: false592 selects the correct MR593 field: "targetProject", subfield: "ciConfigPathOrDefault", is_connection: false594 selects the correct MR595 field: "targetProject", subfield: "fullPath", is_connection: false596 selects the correct MR597 field: "targetProject", subfield: "path", is_connection: false598 selects the correct MR599 field: "targetProject", subfield: "name", is_connection: false600 selects the correct MR601 field: "targetProject", subfield: "nameWithNamespace", is_connection: false602 selects the correct MR603 field: "targetProject", subfield: "description", is_connection: false604 selects the correct MR605 field: "targetProject", subfield: "tagList", is_connection: false606 selects the correct MR607 field: "targetProject", subfield: "topics", is_connection: false608 selects the correct MR609 field: "targetProject", subfield: "httpUrlToRepo", is_connection: false610 selects the correct MR611 field: "targetProject", subfield: "sshUrlToRepo", is_connection: false612 selects the correct MR613 field: "targetProject", subfield: "webUrl", is_connection: false614 selects the correct MR615 field: "targetProject", subfield: "forksCount", is_connection: false616 selects the correct MR617 field: "targetProject", subfield: "starCount", is_connection: false618 selects the correct MR619 field: "targetProject", subfield: "createdAt", is_connection: false620 selects the correct MR621 field: "targetProject", subfield: "lastActivityAt", is_connection: false622 selects the correct MR623 field: "targetProject", subfield: "archived", is_connection: false624 selects the correct MR625 field: "targetProject", subfield: "visibility", is_connection: false626 selects the correct MR627 field: "targetProject", subfield: "lfsEnabled", is_connection: false628 selects the correct MR629 field: "targetProject", subfield: "mergeRequestsFfOnlyEnabled", is_connection: false630 selects the correct MR631 field: "targetProject", subfield: "sharedRunnersEnabled", is_connection: false632 selects the correct MR633 field: "targetProject", subfield: "serviceDeskEnabled", is_connection: false634 selects the correct MR635 field: "targetProject", subfield: "serviceDeskAddress", is_connection: false636 selects the correct MR637 field: "targetProject", subfield: "avatarUrl", is_connection: false638 selects the correct MR639 field: "targetProject", subfield: "jobsEnabled", is_connection: false640 selects the correct MR641 field: "targetProject", subfield: "isCatalogResource", is_connection: false642 selects the correct MR643 field: "targetProject", subfield: "publicJobs", is_connection: false644 selects the correct MR645 field: "targetProject", subfield: "openIssuesCount", is_connection: false646 selects the correct MR647 field: "targetProject", subfield: "allowMergeOnSkippedPipeline", is_connection: false648 selects the correct MR649 field: "targetProject", subfield: "autocloseReferencedIssues", is_connection: false650 selects the correct MR651 field: "targetProject", subfield: "importStatus", is_connection: false652 selects the correct MR653 field: "targetProject", subfield: "jiraImportStatus", is_connection: false654 selects the correct MR655 field: "targetProject", subfield: "onlyAllowMergeIfAllDiscussionsAreResolved", is_connection: false656 selects the correct MR657 field: "targetProject", subfield: "onlyAllowMergeIfPipelineSucceeds", is_connection: false658 selects the correct MR659 field: "targetProject", subfield: "printingMergeRequestLinkEnabled", is_connection: false660 selects the correct MR661 field: "targetProject", subfield: "removeSourceBranchAfterMerge", is_connection: false662 selects the correct MR663 field: "targetProject", subfield: "requestAccessEnabled", is_connection: false664 selects the correct MR665 field: "targetProject", subfield: "squashReadOnly", is_connection: false666 selects the correct MR667 field: "targetProject", subfield: "suggestionCommitMessage", is_connection: false668 selects the correct MR669 field: "targetProject", subfield: "containerRepositoriesCount", is_connection: false670 selects the correct MR671 field: "targetProject", subfield: "mergeCommitTemplate", is_connection: false672 selects the correct MR673 field: "targetProject", subfield: "squashCommitTemplate", is_connection: false674 selects the correct MR675 field: "targetProject", subfield: "issuesEnabled", is_connection: false676 selects the correct MR677 field: "targetProject", subfield: "mergeRequestsEnabled", is_connection: false678 selects the correct MR679 field: "targetProject", subfield: "wikiEnabled", is_connection: false680 selects the correct MR681 field: "targetProject", subfield: "snippetsEnabled", is_connection: false682 selects the correct MR683 field: "targetProject", subfield: "containerRegistryEnabled", is_connection: false684 selects the correct MR685 field: "targetProject", subfield: "descriptionHtml", is_connection: false686 selects the correct MR687 field: "targetProject", subfield: "securityDashboardPath", is_connection: false688 selects the correct MR689 field: "targetProject", subfield: "repositorySizeExcess", is_connection: false690 selects the correct MR691 field: "targetProject", subfield: "actualRepositorySizeLimit", is_connection: false692 selects the correct MR693 field: "targetProject", subfield: "onlyAllowMergeIfAllStatusChecksPassed", is_connection: false694 selects the correct MR695 field: "targetProject", subfield: "productAnalyticsState", is_connection: false696 selects the correct MR697 field: "targetProject", subfield: "trackingKey", is_connection: false698 selects the correct MR699 field: "targetProject", subfield: "productAnalyticsInstrumentationKey", is_connection: false700 selects the correct MR701 field: "targetProject", subfield: "mergeRequestsDisableCommittersApproval", is_connection: false702 selects the correct MR703 field: "targetProject", subfield: "hasJiraVulnerabilityIssueCreationEnabled", is_connection: false704 selects the correct MR705 field: "diffStatsSummary", subfield: "additions", is_connection: false706 selects the correct MR707 field: "diffStatsSummary", subfield: "changes", is_connection: false708 selects the correct MR709 field: "diffStatsSummary", subfield: "deletions", is_connection: false710 selects the correct MR711 field: "diffStatsSummary", subfield: "fileCount", is_connection: false712 selects the correct MR713 field: "headPipeline", subfield: "id", is_connection: false714 selects the correct MR715 field: "headPipeline", subfield: "iid", is_connection: false716 selects the correct MR717 field: "headPipeline", subfield: "sha", is_connection: false718 selects the correct MR719 field: "headPipeline", subfield: "beforeSha", is_connection: false720 selects the correct MR721 field: "headPipeline", subfield: "complete", is_connection: false722 selects the correct MR723 field: "headPipeline", subfield: "status", is_connection: false724 selects the correct MR725 field: "headPipeline", subfield: "warnings", is_connection: false726 selects the correct MR727 field: "headPipeline", subfield: "configSource", is_connection: false728 selects the correct MR729 field: "headPipeline", subfield: "duration", is_connection: false730 selects the correct MR731 field: "headPipeline", subfield: "queuedDuration", is_connection: false732 selects the correct MR733 field: "headPipeline", subfield: "coverage", is_connection: false734 selects the correct MR735 field: "headPipeline", subfield: "createdAt", is_connection: false736 selects the correct MR737 field: "headPipeline", subfield: "updatedAt", is_connection: false738 selects the correct MR739 field: "headPipeline", subfield: "startedAt", is_connection: false740 selects the correct MR741 field: "headPipeline", subfield: "finishedAt", is_connection: false742 selects the correct MR743 field: "headPipeline", subfield: "committedAt", is_connection: false744 selects the correct MR745 field: "headPipeline", subfield: "retryable", is_connection: false746 selects the correct MR747 field: "headPipeline", subfield: "cancelable", is_connection: false748 selects the correct MR749 field: "headPipeline", subfield: "path", is_connection: false750 selects the correct MR751 field: "headPipeline", subfield: "commitPath", is_connection: false752 selects the correct MR753 field: "headPipeline", subfield: "active", is_connection: false754 selects the correct MR755 field: "headPipeline", subfield: "usesNeeds", is_connection: false756 selects the correct MR757 field: "headPipeline", subfield: "ref", is_connection: false758 selects the correct MR759 field: "headPipeline", subfield: "refPath", is_connection: false760 selects the correct MR761 field: "headPipeline", subfield: "mergeRequestEventType", is_connection: false762 selects the correct MR763 field: "pipelines", subfield: "id", is_connection: true764 selects the correct MR765 field: "pipelines", subfield: "iid", is_connection: true766 selects the correct MR767 field: "pipelines", subfield: "sha", is_connection: true768 selects the correct MR769 field: "pipelines", subfield: "beforeSha", is_connection: true770 selects the correct MR771 field: "pipelines", subfield: "complete", is_connection: true772 selects the correct MR773 field: "pipelines", subfield: "status", is_connection: true774 selects the correct MR775 field: "pipelines", subfield: "warnings", is_connection: true776 selects the correct MR777 field: "pipelines", subfield: "configSource", is_connection: true778 selects the correct MR779 field: "pipelines", subfield: "duration", is_connection: true780 selects the correct MR781 field: "pipelines", subfield: "queuedDuration", is_connection: true782 selects the correct MR783 field: "pipelines", subfield: "coverage", is_connection: true784 selects the correct MR785 field: "pipelines", subfield: "createdAt", is_connection: true786 selects the correct MR787 field: "pipelines", subfield: "updatedAt", is_connection: true788 selects the correct MR789 field: "pipelines", subfield: "startedAt", is_connection: true790 selects the correct MR791 field: "pipelines", subfield: "finishedAt", is_connection: true792 selects the correct MR793 field: "pipelines", subfield: "committedAt", is_connection: true794 selects the correct MR795 field: "pipelines", subfield: "retryable", is_connection: true796 selects the correct MR797 field: "pipelines", subfield: "cancelable", is_connection: true798 selects the correct MR799 field: "pipelines", subfield: "path", is_connection: true800 selects the correct MR801 field: "pipelines", subfield: "commitPath", is_connection: true802 selects the correct MR803 field: "pipelines", subfield: "active", is_connection: true804 selects the correct MR805 field: "pipelines", subfield: "usesNeeds", is_connection: true806 selects the correct MR807 field: "pipelines", subfield: "ref", is_connection: true808 selects the correct MR809 field: "pipelines", subfield: "refPath", is_connection: true810 selects the correct MR811 field: "pipelines", subfield: "mergeRequestEventType", is_connection: true812 selects the correct MR813 field: "assignees", subfield: "id", is_connection: true814 selects the correct MR815 field: "assignees", subfield: "bot", is_connection: true816 selects the correct MR817 field: "assignees", subfield: "username", is_connection: true818 selects the correct MR819 field: "assignees", subfield: "name", is_connection: true820 selects the correct MR821 field: "assignees", subfield: "state", is_connection: true822 selects the correct MR823 field: "assignees", subfield: "email", is_connection: true824 selects the correct MR825 field: "assignees", subfield: "publicEmail", is_connection: true826 selects the correct MR827 field: "assignees", subfield: "commitEmail", is_connection: true828 selects the correct MR829 field: "assignees", subfield: "avatarUrl", is_connection: true830 selects the correct MR831 field: "assignees", subfield: "webUrl", is_connection: true832 selects the correct MR833 field: "assignees", subfield: "webPath", is_connection: true834 selects the correct MR835 field: "assignees", subfield: "groupCount", is_connection: true836 selects the correct MR837 field: "assignees", subfield: "location", is_connection: true838 selects the correct MR839 field: "assignees", subfield: "gitpodEnabled", is_connection: true840 selects the correct MR841 field: "assignees", subfield: "preferencesGitpodPath", is_connection: true842 selects the correct MR843 field: "assignees", subfield: "profileEnableGitpodPath", is_connection: true844 selects the correct MR845 field: "assignees", subfield: "bio", is_connection: true846 selects the correct MR847 field: "assignees", subfield: "linkedin", is_connection: true848 selects the correct MR849 field: "assignees", subfield: "twitter", is_connection: true850 selects the correct MR851 field: "assignees", subfield: "discord", is_connection: true852 selects the correct MR853 field: "assignees", subfield: "organization", is_connection: true854 selects the correct MR855 field: "assignees", subfield: "jobTitle", is_connection: true856 selects the correct MR857 field: "assignees", subfield: "createdAt", is_connection: true858 selects the correct MR859 field: "assignees", subfield: "pronouns", is_connection: true860 selects the correct MR861 field: "author", subfield: "id", is_connection: false862 selects the correct MR863 field: "author", subfield: "bot", is_connection: false864 selects the correct MR865 field: "author", subfield: "username", is_connection: false866 selects the correct MR867 field: "author", subfield: "name", is_connection: false868 selects the correct MR869 field: "author", subfield: "state", is_connection: false870 selects the correct MR871 field: "author", subfield: "email", is_connection: false872 selects the correct MR873 field: "author", subfield: "publicEmail", is_connection: false874 selects the correct MR875 field: "author", subfield: "commitEmail", is_connection: false876 selects the correct MR877 field: "author", subfield: "avatarUrl", is_connection: false878 selects the correct MR879 field: "author", subfield: "webUrl", is_connection: false880 selects the correct MR881 field: "author", subfield: "webPath", is_connection: false882 selects the correct MR883 field: "author", subfield: "groupCount", is_connection: false884 selects the correct MR885 field: "author", subfield: "location", is_connection: false886 selects the correct MR887 field: "author", subfield: "gitpodEnabled", is_connection: false888 selects the correct MR889 field: "author", subfield: "preferencesGitpodPath", is_connection: false890 selects the correct MR891 field: "author", subfield: "profileEnableGitpodPath", is_connection: false892 selects the correct MR893 field: "author", subfield: "bio", is_connection: false894 selects the correct MR895 field: "author", subfield: "linkedin", is_connection: false896 selects the correct MR897 field: "author", subfield: "twitter", is_connection: false898 selects the correct MR899 field: "author", subfield: "discord", is_connection: false900 selects the correct MR901 field: "author", subfield: "organization", is_connection: false902 selects the correct MR903 field: "author", subfield: "jobTitle", is_connection: false904 selects the correct MR905 field: "author", subfield: "createdAt", is_connection: false906 selects the correct MR907 field: "author", subfield: "pronouns", is_connection: false908 selects the correct MR909 field: "labels", subfield: "color", is_connection: true910 selects the correct MR911 field: "labels", subfield: "createdAt", is_connection: true912 selects the correct MR913 field: "labels", subfield: "description", is_connection: true914 selects the correct MR915 field: "labels", subfield: "id", is_connection: true916 selects the correct MR917 field: "labels", subfield: "textColor", is_connection: true918 selects the correct MR919 field: "labels", subfield: "title", is_connection: true920 selects the correct MR921 field: "labels", subfield: "updatedAt", is_connection: true922 selects the correct MR923 field: "labels", subfield: "descriptionHtml", is_connection: true924 selects the correct MR925 field: "milestone", subfield: "id", is_connection: false926 selects the correct MR927 field: "milestone", subfield: "iid", is_connection: false928 selects the correct MR929 field: "milestone", subfield: "title", is_connection: false930 selects the correct MR931 field: "milestone", subfield: "description", is_connection: false932 selects the correct MR933 field: "milestone", subfield: "state", is_connection: false934 selects the correct MR935 field: "milestone", subfield: "expired", is_connection: false936 selects the correct MR937 field: "milestone", subfield: "webPath", is_connection: false938 selects the correct MR939 field: "milestone", subfield: "dueDate", is_connection: false940 selects the correct MR941 field: "milestone", subfield: "startDate", is_connection: false942 selects the correct MR943 field: "milestone", subfield: "createdAt", is_connection: false944 selects the correct MR945 field: "milestone", subfield: "updatedAt", is_connection: false946 selects the correct MR947 field: "milestone", subfield: "projectMilestone", is_connection: false948 selects the correct MR949 field: "milestone", subfield: "groupMilestone", is_connection: false950 selects the correct MR951 field: "milestone", subfield: "subgroupMilestone", is_connection: false952 selects the correct MR953 field: "participants", subfield: "id", is_connection: true954 selects the correct MR955 field: "participants", subfield: "bot", is_connection: true956 selects the correct MR957 field: "participants", subfield: "username", is_connection: true958 selects the correct MR959 field: "participants", subfield: "name", is_connection: true960 selects the correct MR961 field: "participants", subfield: "state", is_connection: true962 selects the correct MR963 field: "participants", subfield: "email", is_connection: true964 selects the correct MR965 field: "participants", subfield: "publicEmail", is_connection: true966 selects the correct MR967 field: "participants", subfield: "commitEmail", is_connection: true968 selects the correct MR969 field: "participants", subfield: "avatarUrl", is_connection: true970 selects the correct MR971 field: "participants", subfield: "webUrl", is_connection: true972 selects the correct MR973 field: "participants", subfield: "webPath", is_connection: true974 selects the correct MR975 field: "participants", subfield: "groupCount", is_connection: true976 selects the correct MR977 field: "participants", subfield: "location", is_connection: true978 selects the correct MR979 field: "participants", subfield: "gitpodEnabled", is_connection: true980 selects the correct MR981 field: "participants", subfield: "preferencesGitpodPath", is_connection: true982 selects the correct MR983 field: "participants", subfield: "profileEnableGitpodPath", is_connection: true984 selects the correct MR985 field: "participants", subfield: "bio", is_connection: true986 selects the correct MR987 field: "participants", subfield: "linkedin", is_connection: true988 selects the correct MR989 field: "participants", subfield: "twitter", is_connection: true990 selects the correct MR991 field: "participants", subfield: "discord", is_connection: true992 selects the correct MR993 field: "participants", subfield: "organization", is_connection: true994 selects the correct MR995 field: "participants", subfield: "jobTitle", is_connection: true996 selects the correct MR997 field: "participants", subfield: "createdAt", is_connection: true998 selects the correct MR999 field: "participants", subfield: "pronouns", is_connection: true1000 selects the correct MR1001 field: "reviewers", subfield: "id", is_connection: true1002 selects the correct MR1003 field: "reviewers", subfield: "bot", is_connection: true1004 selects the correct MR1005 field: "reviewers", subfield: "username", is_connection: true1006 selects the correct MR1007 field: "reviewers", subfield: "name", is_connection: true1008 selects the correct MR1009 field: "reviewers", subfield: "state", is_connection: true1010 selects the correct MR1011 field: "reviewers", subfield: "email", is_connection: true1012 selects the correct MR1013 field: "reviewers", subfield: "publicEmail", is_connection: true1014 selects the correct MR1015 field: "reviewers", subfield: "commitEmail", is_connection: true1016 selects the correct MR1017 field: "reviewers", subfield: "avatarUrl", is_connection: true1018 selects the correct MR1019 field: "reviewers", subfield: "webUrl", is_connection: true1020 selects the correct MR1021 field: "reviewers", subfield: "webPath", is_connection: true1022 selects the correct MR1023 field: "reviewers", subfield: "groupCount", is_connection: true1024 selects the correct MR1025 field: "reviewers", subfield: "location", is_connection: true1026 selects the correct MR1027 field: "reviewers", subfield: "gitpodEnabled", is_connection: true1028 selects the correct MR1029 field: "reviewers", subfield: "preferencesGitpodPath", is_connection: true1030 selects the correct MR1031 field: "reviewers", subfield: "profileEnableGitpodPath", is_connection: true1032 selects the correct MR1033 field: "reviewers", subfield: "bio", is_connection: true1034 selects the correct MR1035 field: "reviewers", subfield: "linkedin", is_connection: true1036 selects the correct MR1037 field: "reviewers", subfield: "twitter", is_connection: true1038 selects the correct MR1039 field: "reviewers", subfield: "discord", is_connection: true1040 selects the correct MR1041 field: "reviewers", subfield: "organization", is_connection: true1042 selects the correct MR1043 field: "reviewers", subfield: "jobTitle", is_connection: true1044 selects the correct MR1045 field: "reviewers", subfield: "createdAt", is_connection: true1046 selects the correct MR1047 field: "reviewers", subfield: "pronouns", is_connection: true1048 selects the correct MR1049 field: "taskCompletionStatus", subfield: "completedCount", is_connection: false1050 selects the correct MR1051 field: "taskCompletionStatus", subfield: "count", is_connection: false1052 selects the correct MR1053 field: "approvedBy", subfield: "id", is_connection: true1054 selects the correct MR1055 field: "approvedBy", subfield: "bot", is_connection: true1056 selects the correct MR1057 field: "approvedBy", subfield: "username", is_connection: true1058 selects the correct MR1059 field: "approvedBy", subfield: "name", is_connection: true1060 selects the correct MR1061 field: "approvedBy", subfield: "state", is_connection: true1062 selects the correct MR1063 field: "approvedBy", subfield: "email", is_connection: true1064 selects the correct MR1065 field: "approvedBy", subfield: "publicEmail", is_connection: true1066 selects the correct MR1067 field: "approvedBy", subfield: "commitEmail", is_connection: true1068 selects the correct MR1069 field: "approvedBy", subfield: "avatarUrl", is_connection: true1070 selects the correct MR1071 field: "approvedBy", subfield: "webUrl", is_connection: true1072 selects the correct MR1073 field: "approvedBy", subfield: "webPath", is_connection: true1074 selects the correct MR1075 field: "approvedBy", subfield: "groupCount", is_connection: true1076 selects the correct MR1077 field: "approvedBy", subfield: "location", is_connection: true1078 selects the correct MR1079 field: "approvedBy", subfield: "gitpodEnabled", is_connection: true1080 selects the correct MR1081 field: "approvedBy", subfield: "preferencesGitpodPath", is_connection: true1082 selects the correct MR1083 field: "approvedBy", subfield: "profileEnableGitpodPath", is_connection: true1084 selects the correct MR1085 field: "approvedBy", subfield: "bio", is_connection: true1086 selects the correct MR1087 field: "approvedBy", subfield: "linkedin", is_connection: true1088 selects the correct MR1089 field: "approvedBy", subfield: "twitter", is_connection: true1090 selects the correct MR1091 field: "approvedBy", subfield: "discord", is_connection: true1092 selects the correct MR1093 field: "approvedBy", subfield: "organization", is_connection: true1094 selects the correct MR1095 field: "approvedBy", subfield: "jobTitle", is_connection: true1096 selects the correct MR1097 field: "approvedBy", subfield: "createdAt", is_connection: true1098 selects the correct MR1099 field: "approvedBy", subfield: "pronouns", is_connection: true1100 selects the correct MR1101 field: "commits", subfield: "id", is_connection: true1102 selects the correct MR1103 field: "commits", subfield: "sha", is_connection: true1104 selects the correct MR1105 field: "commits", subfield: "shortId", is_connection: true1106 selects the correct MR1107 field: "commits", subfield: "title", is_connection: true1108 selects the correct MR1109 field: "commits", subfield: "fullTitle", is_connection: true1110 selects the correct MR1111 field: "commits", subfield: "description", is_connection: true1112 selects the correct MR1113 field: "commits", subfield: "message", is_connection: true1114 selects the correct MR1115 field: "commits", subfield: "authoredDate", is_connection: true1116 selects the correct MR1117 field: "commits", subfield: "committedDate", is_connection: true1118 selects the correct MR1119 field: "commits", subfield: "webUrl", is_connection: true1120 selects the correct MR1121 field: "commits", subfield: "webPath", is_connection: true1122 selects the correct MR1123 field: "commits", subfield: "signatureHtml", is_connection: true1124 selects the correct MR1125 field: "commits", subfield: "authorEmail", is_connection: true1126 selects the correct MR1127 field: "commits", subfield: "authorGravatar", is_connection: true1128 selects the correct MR1129 field: "commits", subfield: "authorName", is_connection: true1130 selects the correct MR1131 field: "commits", subfield: "committerEmail", is_connection: true1132 selects the correct MR1133 field: "commits", subfield: "committerName", is_connection: true1134 selects the correct MR1135 field: "commits", subfield: "titleHtml", is_connection: true1136 selects the correct MR1137 field: "commits", subfield: "fullTitleHtml", is_connection: true1138 selects the correct MR1139 field: "commits", subfield: "descriptionHtml", is_connection: true1140 selects the correct MR1141 field: "commitsWithoutMergeCommits", subfield: "id", is_connection: true1142 selects the correct MR1143 field: "commitsWithoutMergeCommits", subfield: "sha", is_connection: true1144 selects the correct MR1145 field: "commitsWithoutMergeCommits", subfield: "shortId", is_connection: true1146 selects the correct MR1147 field: "commitsWithoutMergeCommits", subfield: "title", is_connection: true1148 selects the correct MR1149 field: "commitsWithoutMergeCommits", subfield: "fullTitle", is_connection: true1150 selects the correct MR1151 field: "commitsWithoutMergeCommits", subfield: "description", is_connection: true1152 selects the correct MR1153 field: "commitsWithoutMergeCommits", subfield: "message", is_connection: true1154 selects the correct MR1155 field: "commitsWithoutMergeCommits", subfield: "authoredDate", is_connection: true1156 selects the correct MR1157 field: "commitsWithoutMergeCommits", subfield: "committedDate", is_connection: true1158 selects the correct MR1159 field: "commitsWithoutMergeCommits", subfield: "webUrl", is_connection: true1160 selects the correct MR1161 field: "commitsWithoutMergeCommits", subfield: "webPath", is_connection: true1162 selects the correct MR1163 field: "commitsWithoutMergeCommits", subfield: "signatureHtml", is_connection: true1164 selects the correct MR1165 field: "commitsWithoutMergeCommits", subfield: "authorEmail", is_connection: true1166 selects the correct MR1167 field: "commitsWithoutMergeCommits", subfield: "authorGravatar", is_connection: true1168 selects the correct MR1169 field: "commitsWithoutMergeCommits", subfield: "authorName", is_connection: true1170 selects the correct MR1171 field: "commitsWithoutMergeCommits", subfield: "committerEmail", is_connection: true1172 selects the correct MR1173 field: "commitsWithoutMergeCommits", subfield: "committerName", is_connection: true1174 selects the correct MR1175 field: "commitsWithoutMergeCommits", subfield: "titleHtml", is_connection: true1176 selects the correct MR1177 field: "commitsWithoutMergeCommits", subfield: "fullTitleHtml", is_connection: true1178 selects the correct MR1179 field: "commitsWithoutMergeCommits", subfield: "descriptionHtml", is_connection: true1180 selects the correct MR1181 field: "committers", subfield: "id", is_connection: true1182 selects the correct MR1183 field: "committers", subfield: "bot", is_connection: true1184 selects the correct MR1185 field: "committers", subfield: "username", is_connection: true1186 selects the correct MR1187 field: "committers", subfield: "name", is_connection: true1188 selects the correct MR1189 field: "committers", subfield: "state", is_connection: true1190 selects the correct MR1191 field: "committers", subfield: "email", is_connection: true1192 selects the correct MR1193 field: "committers", subfield: "publicEmail", is_connection: true1194 selects the correct MR1195 field: "committers", subfield: "commitEmail", is_connection: true1196 selects the correct MR1197 field: "committers", subfield: "avatarUrl", is_connection: true1198 selects the correct MR1199 field: "committers", subfield: "webUrl", is_connection: true1200 selects the correct MR1201 field: "committers", subfield: "webPath", is_connection: true1202 selects the correct MR1203 field: "committers", subfield: "groupCount", is_connection: true1204 selects the correct MR1205 field: "committers", subfield: "location", is_connection: true1206 selects the correct MR1207 field: "committers", subfield: "gitpodEnabled", is_connection: true1208 selects the correct MR1209 field: "committers", subfield: "preferencesGitpodPath", is_connection: true1210 selects the correct MR1211 field: "committers", subfield: "profileEnableGitpodPath", is_connection: true1212 selects the correct MR1213 field: "committers", subfield: "bio", is_connection: true1214 selects the correct MR1215 field: "committers", subfield: "linkedin", is_connection: true1216 selects the correct MR1217 field: "committers", subfield: "twitter", is_connection: true1218 selects the correct MR1219 field: "committers", subfield: "discord", is_connection: true1220 selects the correct MR1221 field: "committers", subfield: "organization", is_connection: true1222 selects the correct MR1223 field: "committers", subfield: "jobTitle", is_connection: true1224 selects the correct MR1225 field: "committers", subfield: "createdAt", is_connection: true1226 selects the correct MR1227 field: "committers", subfield: "pronouns", is_connection: true1228 selects the correct MR1229 field: "mergeUser", subfield: "id", is_connection: false1230 selects the correct MR1231 field: "mergeUser", subfield: "bot", is_connection: false1232 selects the correct MR1233 field: "mergeUser", subfield: "username", is_connection: false1234 selects the correct MR1235 field: "mergeUser", subfield: "name", is_connection: false1236 selects the correct MR1237 field: "mergeUser", subfield: "state", is_connection: false1238 selects the correct MR1239 field: "mergeUser", subfield: "email", is_connection: false1240 selects the correct MR1241 field: "mergeUser", subfield: "publicEmail", is_connection: false1242 selects the correct MR1243 field: "mergeUser", subfield: "commitEmail", is_connection: false1244 selects the correct MR1245 field: "mergeUser", subfield: "avatarUrl", is_connection: false1246 selects the correct MR1247 field: "mergeUser", subfield: "webUrl", is_connection: false1248 selects the correct MR1249 field: "mergeUser", subfield: "webPath", is_connection: false1250 selects the correct MR1251 field: "mergeUser", subfield: "groupCount", is_connection: false1252 selects the correct MR1253 field: "mergeUser", subfield: "location", is_connection: false1254 selects the correct MR1255 field: "mergeUser", subfield: "gitpodEnabled", is_connection: false1256 selects the correct MR1257 field: "mergeUser", subfield: "preferencesGitpodPath", is_connection: false1258 selects the correct MR1259 field: "mergeUser", subfield: "profileEnableGitpodPath", is_connection: false1260 selects the correct MR1261 field: "mergeUser", subfield: "bio", is_connection: false1262 selects the correct MR1263 field: "mergeUser", subfield: "linkedin", is_connection: false1264 selects the correct MR1265 field: "mergeUser", subfield: "twitter", is_connection: false1266 selects the correct MR1267 field: "mergeUser", subfield: "discord", is_connection: false1268 selects the correct MR1269 field: "mergeUser", subfield: "organization", is_connection: false1270 selects the correct MR1271 field: "mergeUser", subfield: "jobTitle", is_connection: false1272 selects the correct MR1273 field: "mergeUser", subfield: "createdAt", is_connection: false1274 selects the correct MR1275 field: "mergeUser", subfield: "pronouns", is_connection: false1276 selects the correct MR1277 field: "timelogs", subfield: "id", is_connection: true1278 selects the correct MR1279 field: "timelogs", subfield: "spentAt", is_connection: true1280 selects the correct MR1281 field: "timelogs", subfield: "timeSpent", is_connection: true1282 selects the correct MR1283 field: "timelogs", subfield: "summary", is_connection: true1284 selects the correct MR1285 field: "awardEmoji", subfield: "name", is_connection: true1286 selects the correct MR1287 field: "awardEmoji", subfield: "description", is_connection: true1288 selects the correct MR1289 field: "awardEmoji", subfield: "unicode", is_connection: true1290 selects the correct MR1291 field: "awardEmoji", subfield: "emoji", is_connection: true1292 selects the correct MR1293 field: "awardEmoji", subfield: "unicodeVersion", is_connection: true1294 selects the correct MR1295 field: "approvalState", subfield: "approvalRulesOverwritten", is_connection: false1296 selects the correct MR1297 field: "suggestedReviewers", subfield: "accepted", is_connection: false1298 selects the correct MR1299 field: "suggestedReviewers", subfield: "createdAt", is_connection: false1300 selects the correct MR1301 field: "suggestedReviewers", subfield: "suggested", is_connection: false1302 selects the correct MR1303 field: "suggestedReviewers", subfield: "updatedAt", is_connection: false1304 selects the correct MR1305 field: "diffLlmSummaries", subfield: "mergeRequestDiffId", is_connection: true1306 selects the correct MR1307 field: "diffLlmSummaries", subfield: "provider", is_connection: true1308 selects the correct MR1309 field: "diffLlmSummaries", subfield: "content", is_connection: true1310 selects the correct MR1311 field: "diffLlmSummaries", subfield: "createdAt", is_connection: true1312 selects the correct MR1313 field: "diffLlmSummaries", subfield: "updatedAt", is_connection: true1314 selects the correct MR1315 field: "mergeRequestDiffs", subfield: "createdAt", is_connection: true1316 selects the correct MR1317 field: "mergeRequestDiffs", subfield: "updatedAt", is_connection: true1318 selects the correct MR1319 field: "currentUserTodos", subfield: "id", is_connection: true1320 selects the correct MR1321 field: "currentUserTodos", subfield: "action", is_connection: true1322 selects the correct MR1323 field: "currentUserTodos", subfield: "targetType", is_connection: true1324 selects the correct MR1325 field: "currentUserTodos", subfield: "body", is_connection: true1326 selects the correct MR1327 field: "currentUserTodos", subfield: "state", is_connection: true1328 selects the correct MR1329 field: "currentUserTodos", subfield: "createdAt", is_connection: true1330 selects the correct MR1331 field: "notes", subfield: "maxAccessLevelOfAuthor", is_connection: true1332 selects the correct MR1333 field: "notes", subfield: "id", is_connection: true1334 selects the correct MR1335 field: "notes", subfield: "system", is_connection: true1336 selects the correct MR1337 field: "notes", subfield: "systemNoteIconName", is_connection: true1338 selects the correct MR1339 field: "notes", subfield: "body", is_connection: true1340 selects the correct MR1341 field: "notes", subfield: "confidential", is_connection: true1342 selects the correct MR1343 field: "notes", subfield: "internal", is_connection: true1344 selects the correct MR1345 field: "notes", subfield: "createdAt", is_connection: true1346 selects the correct MR1347 field: "notes", subfield: "updatedAt", is_connection: true1348 selects the correct MR1349 field: "notes", subfield: "url", is_connection: true1350 selects the correct MR1351 field: "notes", subfield: "lastEditedAt", is_connection: true1352 selects the correct MR1353 field: "notes", subfield: "authorIsContributor", is_connection: true1354 selects the correct MR1355 field: "notes", subfield: "bodyHtml", is_connection: true1356 selects the correct MR1357 field: "notes", subfield: "resolved", is_connection: true1358 selects the correct MR1359 field: "notes", subfield: "resolvable", is_connection: true1360 selects the correct MR1361 field: "notes", subfield: "resolvedAt", is_connection: true1362 selects the correct MR1363 field: "discussions", subfield: "createdAt", is_connection: true1364 selects the correct MR1365 field: "discussions", subfield: "id", is_connection: true1366 selects the correct MR1367 field: "discussions", subfield: "replyId", is_connection: true1368 selects the correct MR1369 field: "discussions", subfield: "resolved", is_connection: true1370 selects the correct MR1371 field: "discussions", subfield: "resolvable", is_connection: true1372 selects the correct MR1373 field: "discussions", subfield: "resolvedAt", is_connection: true1374 selects the correct MR1375 field: "commenters", subfield: "id", is_connection: true1376 selects the correct MR1377 field: "commenters", subfield: "bot", is_connection: true1378 selects the correct MR1379 field: "commenters", subfield: "username", is_connection: true1380 selects the correct MR1381 field: "commenters", subfield: "name", is_connection: true1382 selects the correct MR1383 field: "commenters", subfield: "state", is_connection: true1384 selects the correct MR1385 field: "commenters", subfield: "email", is_connection: true1386 selects the correct MR1387 field: "commenters", subfield: "publicEmail", is_connection: true1388 selects the correct MR1389 field: "commenters", subfield: "commitEmail", is_connection: true1390 selects the correct MR1391 field: "commenters", subfield: "avatarUrl", is_connection: true1392 selects the correct MR1393 field: "commenters", subfield: "webUrl", is_connection: true1394 selects the correct MR1395 field: "commenters", subfield: "webPath", is_connection: true1396 selects the correct MR1397 field: "commenters", subfield: "groupCount", is_connection: true1398 selects the correct MR1399 field: "commenters", subfield: "location", is_connection: true1400 selects the correct MR1401 field: "commenters", subfield: "gitpodEnabled", is_connection: true1402 selects the correct MR1403 field: "commenters", subfield: "preferencesGitpodPath", is_connection: true1404 selects the correct MR1405 field: "commenters", subfield: "profileEnableGitpodPath", is_connection: true1406 selects the correct MR1407 field: "commenters", subfield: "bio", is_connection: true1408 selects the correct MR1409 field: "commenters", subfield: "linkedin", is_connection: true1410 selects the correct MR1411 field: "commenters", subfield: "twitter", is_connection: true1412 selects the correct MR1413 field: "commenters", subfield: "discord", is_connection: true1414 selects the correct MR1415 field: "commenters", subfield: "organization", is_connection: true1416 selects the correct MR1417 field: "commenters", subfield: "jobTitle", is_connection: true1418 selects the correct MR1419 field: "commenters", subfield: "createdAt", is_connection: true1420 selects the correct MR1421 field: "commenters", subfield: "pronouns", is_connection: true1422 selects the correct MR1423 when there are no search params1424 behaves like when searching with parameters1425 finds the right mrs1426 when the search params do not match anything1427 behaves like when searching with parameters1428 finds the right mrs1429 when searching by iids1430 behaves like when searching with parameters1431 finds the right mrs1432 when searching by state1433 behaves like when searching with parameters1434 finds the right mrs1435 when searching by source_branch1436 behaves like when searching with parameters1437 finds the right mrs1438 when searching by target_branch1439 behaves like when searching with parameters1440 finds the right mrs1441 when searching by label1442 behaves like when searching with parameters1443 finds the right mrs1444 when searching by update time1445 when searching by updated_after1446 behaves like when searching with parameters1447 finds the right mrs1448 when searching by updated_before1449 behaves like when searching with parameters1450 finds the right mrs1451 when searching by updated_before and updated_after1452 behaves like when searching with parameters1453 finds the right mrs1454 when searching by combination1455 behaves like when searching with parameters1456 finds the right mrs1457 when searching by approved1458 when true1459 behaves like when searching with parameters1460 finds the right mrs1461 when false1462 behaves like when searching with parameters1463 finds the right mrs1464 when requesting `approved_by`1465 exposes approver username1466 prevents N+1 queries1467 fields1468 when requesting `commit_count`1469 exposes `commit_count`1470 when requesting `merged_at`1471 prevents N+1 queries1472 when requesting `user_notes_count`1473 prevents N+1 queries1474 when requesting `user_discussions_count`1475 prevents N+1 queries1476 when requesting reviewers1477 returns the reviewers1478 prevents N+1 queries1479 when award emoji votes1480 prevents N+1 queries1481 when requesting participants1482 prevents N+1 queries1483 when requesting labels1484 prevents N+1 queries1485 when requesting diffStats1486 prevents N+1 queries1487 when each merge request diff has no head_commit_sha1488 prevents N+1 queries1489 performance1490 returns appropriate results1491 can lookahead to eliminate N+1 queries1492 sorting and pagination1493 when sorting by merged_at DESC1494 behaves like sorted paginated query1495 behaves like requires variables1496 shared example requires variables to be set1498 when sorting1499 sorts correctly1500 when paginating1501 paginates correctly1502 when last parameter is given1503 takes the last 2 records1504 when sorting by closed_at DESC1505 behaves like sorted paginated query1506 behaves like requires variables1507 shared example requires variables to be set1509 when sorting1510 sorts correctly1511 when paginating1512 paginates correctly1513 when last parameter is given1514 takes the last 2 records1515 when only the count is requested1516 when merged at filter is present1517 does not query the merge requests table for the count1518 returns the correct count1519 when total_time_to_merge and count is queried1520 uses the merge_request_metrics table for total_time_to_merge1521 returns the correct total time to merge1522API::Markdown Snapshot1523 for 02_01_00__preliminaries__tabs__0011524 verifies conversion of GLFM to HTML1525 for 02_01_00__preliminaries__tabs__0021526 verifies conversion of GLFM to HTML1527 for 02_01_00__preliminaries__tabs__0031528 verifies conversion of GLFM to HTML1529 for 02_01_00__preliminaries__tabs__0041530 verifies conversion of GLFM to HTML1531 for 02_01_00__preliminaries__tabs__0051532 verifies conversion of GLFM to HTML1533 for 02_01_00__preliminaries__tabs__0061534 verifies conversion of GLFM to HTML1535 for 02_01_00__preliminaries__tabs__0071536 verifies conversion of GLFM to HTML1537 for 02_01_00__preliminaries__tabs__0081538 verifies conversion of GLFM to HTML1539 for 02_01_00__preliminaries__tabs__0091540 verifies conversion of GLFM to HTML1541 for 02_01_00__preliminaries__tabs__0101542 verifies conversion of GLFM to HTML1543 for 02_01_00__preliminaries__tabs__0111544 verifies conversion of GLFM to HTML1545 for 03_01_00__blocks_and_inlines__precedence__0011546 verifies conversion of GLFM to HTML1547 for 04_01_00__leaf_blocks__thematic_breaks__0011548 verifies conversion of GLFM to HTML1549 for 04_01_00__leaf_blocks__thematic_breaks__0021550 verifies conversion of GLFM to HTML1551 for 04_01_00__leaf_blocks__thematic_breaks__0031552 verifies conversion of GLFM to HTML1553 for 04_01_00__leaf_blocks__thematic_breaks__0041554 verifies conversion of GLFM to HTML1555 for 04_01_00__leaf_blocks__thematic_breaks__0051556 verifies conversion of GLFM to HTML1557 for 04_01_00__leaf_blocks__thematic_breaks__0061558 verifies conversion of GLFM to HTML1559 for 04_01_00__leaf_blocks__thematic_breaks__0071560 verifies conversion of GLFM to HTML1561 for 04_01_00__leaf_blocks__thematic_breaks__0081562 verifies conversion of GLFM to HTML1563 for 04_01_00__leaf_blocks__thematic_breaks__0091564 verifies conversion of GLFM to HTML1565 for 04_01_00__leaf_blocks__thematic_breaks__0101566 verifies conversion of GLFM to HTML1567 for 04_01_00__leaf_blocks__thematic_breaks__0111568 verifies conversion of GLFM to HTML1569 for 04_01_00__leaf_blocks__thematic_breaks__0121570 verifies conversion of GLFM to HTML1571 for 04_01_00__leaf_blocks__thematic_breaks__0131572 verifies conversion of GLFM to HTML1573 for 04_01_00__leaf_blocks__thematic_breaks__0141574 verifies conversion of GLFM to HTML1575 for 04_01_00__leaf_blocks__thematic_breaks__0151576 verifies conversion of GLFM to HTML1577 for 04_01_00__leaf_blocks__thematic_breaks__0161578 verifies conversion of GLFM to HTML1579 for 04_01_00__leaf_blocks__thematic_breaks__0171580 verifies conversion of GLFM to HTML1581 for 04_01_00__leaf_blocks__thematic_breaks__0181582 verifies conversion of GLFM to HTML1583 for 04_01_00__leaf_blocks__thematic_breaks__0191584 verifies conversion of GLFM to HTML1585 for 04_02_00__leaf_blocks__atx_headings__0011586 verifies conversion of GLFM to HTML1587 for 04_02_00__leaf_blocks__atx_headings__0021588 verifies conversion of GLFM to HTML1589 for 04_02_00__leaf_blocks__atx_headings__0031590 verifies conversion of GLFM to HTML1591 for 04_02_00__leaf_blocks__atx_headings__0041592 verifies conversion of GLFM to HTML1593 for 04_02_00__leaf_blocks__atx_headings__0051594 verifies conversion of GLFM to HTML1595 for 04_02_00__leaf_blocks__atx_headings__0061596 verifies conversion of GLFM to HTML1597 for 04_02_00__leaf_blocks__atx_headings__0071598 verifies conversion of GLFM to HTML1599 for 04_02_00__leaf_blocks__atx_headings__0081600 verifies conversion of GLFM to HTML1601 for 04_02_00__leaf_blocks__atx_headings__0091602 verifies conversion of GLFM to HTML1603 for 04_02_00__leaf_blocks__atx_headings__0101604 verifies conversion of GLFM to HTML1605 for 04_02_00__leaf_blocks__atx_headings__0111606 verifies conversion of GLFM to HTML1607 for 04_02_00__leaf_blocks__atx_headings__0121608 verifies conversion of GLFM to HTML1609 for 04_02_00__leaf_blocks__atx_headings__0131610 verifies conversion of GLFM to HTML1611 for 04_02_00__leaf_blocks__atx_headings__0141612 verifies conversion of GLFM to HTML1613 for 04_02_00__leaf_blocks__atx_headings__0151614 verifies conversion of GLFM to HTML1615 for 04_02_00__leaf_blocks__atx_headings__0161616 verifies conversion of GLFM to HTML1617 for 04_02_00__leaf_blocks__atx_headings__0171618 verifies conversion of GLFM to HTML1619 for 04_02_00__leaf_blocks__atx_headings__0181620 verifies conversion of GLFM to HTML1621 for 04_03_00__leaf_blocks__setext_headings__0011622 verifies conversion of GLFM to HTML1623 for 04_03_00__leaf_blocks__setext_headings__0021624 verifies conversion of GLFM to HTML1625 for 04_03_00__leaf_blocks__setext_headings__0031626 verifies conversion of GLFM to HTML1627 for 04_03_00__leaf_blocks__setext_headings__0041628 verifies conversion of GLFM to HTML1629 for 04_03_00__leaf_blocks__setext_headings__0051630 verifies conversion of GLFM to HTML1631 for 04_03_00__leaf_blocks__setext_headings__0061632 verifies conversion of GLFM to HTML1633 for 04_03_00__leaf_blocks__setext_headings__0071634 verifies conversion of GLFM to HTML1635 for 04_03_00__leaf_blocks__setext_headings__0081636 verifies conversion of GLFM to HTML1637 for 04_03_00__leaf_blocks__setext_headings__0091638 verifies conversion of GLFM to HTML1639 for 04_03_00__leaf_blocks__setext_headings__0101640 verifies conversion of GLFM to HTML1641 for 04_03_00__leaf_blocks__setext_headings__0111642 verifies conversion of GLFM to HTML1643 for 04_03_00__leaf_blocks__setext_headings__0121644 verifies conversion of GLFM to HTML1645 for 04_03_00__leaf_blocks__setext_headings__0131646 verifies conversion of GLFM to HTML1647 for 04_03_00__leaf_blocks__setext_headings__0141648 verifies conversion of GLFM to HTML1649 for 04_03_00__leaf_blocks__setext_headings__0151650 verifies conversion of GLFM to HTML1651 for 04_03_00__leaf_blocks__setext_headings__0161652 verifies conversion of GLFM to HTML1653 for 04_03_00__leaf_blocks__setext_headings__0171654 verifies conversion of GLFM to HTML1655 for 04_03_00__leaf_blocks__setext_headings__0181656 verifies conversion of GLFM to HTML1657 for 04_03_00__leaf_blocks__setext_headings__0191658 verifies conversion of GLFM to HTML1659 for 04_03_00__leaf_blocks__setext_headings__0201660 verifies conversion of GLFM to HTML1661 for 04_03_00__leaf_blocks__setext_headings__0211662 verifies conversion of GLFM to HTML1663 for 04_03_00__leaf_blocks__setext_headings__0221664 verifies conversion of GLFM to HTML1665 for 04_03_00__leaf_blocks__setext_headings__0231666 verifies conversion of GLFM to HTML1667 for 04_03_00__leaf_blocks__setext_headings__0241668 verifies conversion of GLFM to HTML1669 for 04_03_00__leaf_blocks__setext_headings__0251670 verifies conversion of GLFM to HTML1671 for 04_03_00__leaf_blocks__setext_headings__0261672 verifies conversion of GLFM to HTML1673 for 04_03_00__leaf_blocks__setext_headings__0271674 verifies conversion of GLFM to HTML1675 for 04_04_00__leaf_blocks__indented_code_blocks__0011676 verifies conversion of GLFM to HTML1677 for 04_04_00__leaf_blocks__indented_code_blocks__0021678 verifies conversion of GLFM to HTML1679 for 04_04_00__leaf_blocks__indented_code_blocks__0031680 verifies conversion of GLFM to HTML1681 for 04_04_00__leaf_blocks__indented_code_blocks__0041682 verifies conversion of GLFM to HTML1683 for 04_04_00__leaf_blocks__indented_code_blocks__0051684 verifies conversion of GLFM to HTML1685 for 04_04_00__leaf_blocks__indented_code_blocks__0061686 verifies conversion of GLFM to HTML1687 for 04_04_00__leaf_blocks__indented_code_blocks__0071688 verifies conversion of GLFM to HTML1689 for 04_04_00__leaf_blocks__indented_code_blocks__0081690 verifies conversion of GLFM to HTML1691 for 04_04_00__leaf_blocks__indented_code_blocks__0091692 verifies conversion of GLFM to HTML1693 for 04_04_00__leaf_blocks__indented_code_blocks__0101694 verifies conversion of GLFM to HTML1695 for 04_04_00__leaf_blocks__indented_code_blocks__0111696 verifies conversion of GLFM to HTML1697 for 04_04_00__leaf_blocks__indented_code_blocks__0121698 verifies conversion of GLFM to HTML1699 for 04_05_00__leaf_blocks__fenced_code_blocks__0011700 verifies conversion of GLFM to HTML1701 for 04_05_00__leaf_blocks__fenced_code_blocks__0021702 verifies conversion of GLFM to HTML1703 for 04_05_00__leaf_blocks__fenced_code_blocks__0031704 verifies conversion of GLFM to HTML1705 for 04_05_00__leaf_blocks__fenced_code_blocks__0041706 verifies conversion of GLFM to HTML1707 for 04_05_00__leaf_blocks__fenced_code_blocks__0051708 verifies conversion of GLFM to HTML1709 for 04_05_00__leaf_blocks__fenced_code_blocks__0061710 verifies conversion of GLFM to HTML1711 for 04_05_00__leaf_blocks__fenced_code_blocks__0071712 verifies conversion of GLFM to HTML1713 for 04_05_00__leaf_blocks__fenced_code_blocks__0081714 verifies conversion of GLFM to HTML1715 for 04_05_00__leaf_blocks__fenced_code_blocks__0091716 verifies conversion of GLFM to HTML1717 for 04_05_00__leaf_blocks__fenced_code_blocks__0101718 verifies conversion of GLFM to HTML1719 for 04_05_00__leaf_blocks__fenced_code_blocks__0111720 verifies conversion of GLFM to HTML1721 for 04_05_00__leaf_blocks__fenced_code_blocks__0121722 verifies conversion of GLFM to HTML1723 for 04_05_00__leaf_blocks__fenced_code_blocks__0131724 verifies conversion of GLFM to HTML1725 for 04_05_00__leaf_blocks__fenced_code_blocks__0141726 verifies conversion of GLFM to HTML1727 for 04_05_00__leaf_blocks__fenced_code_blocks__0151728 verifies conversion of GLFM to HTML1729 for 04_05_00__leaf_blocks__fenced_code_blocks__0161730 verifies conversion of GLFM to HTML1731 for 04_05_00__leaf_blocks__fenced_code_blocks__0171732 verifies conversion of GLFM to HTML1733 for 04_05_00__leaf_blocks__fenced_code_blocks__0181734 verifies conversion of GLFM to HTML1735 for 04_05_00__leaf_blocks__fenced_code_blocks__0191736 verifies conversion of GLFM to HTML1737 for 04_05_00__leaf_blocks__fenced_code_blocks__0201738 verifies conversion of GLFM to HTML1739 for 04_05_00__leaf_blocks__fenced_code_blocks__0211740 verifies conversion of GLFM to HTML1741 for 04_05_00__leaf_blocks__fenced_code_blocks__0221742 verifies conversion of GLFM to HTML1743 for 04_05_00__leaf_blocks__fenced_code_blocks__0231744 verifies conversion of GLFM to HTML1745 for 04_05_00__leaf_blocks__fenced_code_blocks__0241746 verifies conversion of GLFM to HTML1747 for 04_05_00__leaf_blocks__fenced_code_blocks__0251748 verifies conversion of GLFM to HTML1749 for 04_05_00__leaf_blocks__fenced_code_blocks__0261750 verifies conversion of GLFM to HTML1751 for 04_05_00__leaf_blocks__fenced_code_blocks__0271752 verifies conversion of GLFM to HTML1753 for 04_05_00__leaf_blocks__fenced_code_blocks__0281754 verifies conversion of GLFM to HTML1755 for 04_05_00__leaf_blocks__fenced_code_blocks__0291756 verifies conversion of GLFM to HTML1757 for 04_06_00__leaf_blocks__html_blocks__0011758 verifies conversion of GLFM to HTML1759 for 04_06_00__leaf_blocks__html_blocks__0021760 verifies conversion of GLFM to HTML1761 for 04_06_00__leaf_blocks__html_blocks__0031762 verifies conversion of GLFM to HTML1763 for 04_06_00__leaf_blocks__html_blocks__0041764 verifies conversion of GLFM to HTML1765 for 04_06_00__leaf_blocks__html_blocks__0051766 verifies conversion of GLFM to HTML1767 for 04_06_00__leaf_blocks__html_blocks__0061768 verifies conversion of GLFM to HTML1769 for 04_06_00__leaf_blocks__html_blocks__0071770 verifies conversion of GLFM to HTML1771 for 04_06_00__leaf_blocks__html_blocks__0081772 verifies conversion of GLFM to HTML1773 for 04_06_00__leaf_blocks__html_blocks__0091774 verifies conversion of GLFM to HTML1775 for 04_06_00__leaf_blocks__html_blocks__0101776 verifies conversion of GLFM to HTML1777 for 04_06_00__leaf_blocks__html_blocks__0111778 verifies conversion of GLFM to HTML1779 for 04_06_00__leaf_blocks__html_blocks__0121780 verifies conversion of GLFM to HTML1781 for 04_06_00__leaf_blocks__html_blocks__0131782 verifies conversion of GLFM to HTML1783 for 04_06_00__leaf_blocks__html_blocks__0141784 verifies conversion of GLFM to HTML1785 for 04_06_00__leaf_blocks__html_blocks__0151786 verifies conversion of GLFM to HTML1787 for 04_06_00__leaf_blocks__html_blocks__0161788 verifies conversion of GLFM to HTML1789 for 04_06_00__leaf_blocks__html_blocks__0171790 verifies conversion of GLFM to HTML1791 for 04_06_00__leaf_blocks__html_blocks__0181792 verifies conversion of GLFM to HTML1793 for 04_06_00__leaf_blocks__html_blocks__0191794 verifies conversion of GLFM to HTML1795 for 04_06_00__leaf_blocks__html_blocks__0201796 verifies conversion of GLFM to HTML1797 for 04_06_00__leaf_blocks__html_blocks__0211798 verifies conversion of GLFM to HTML1799 for 04_06_00__leaf_blocks__html_blocks__0221800 verifies conversion of GLFM to HTML1801 for 04_06_00__leaf_blocks__html_blocks__0231802 verifies conversion of GLFM to HTML1803 for 04_06_00__leaf_blocks__html_blocks__0241804 verifies conversion of GLFM to HTML1805 for 04_06_00__leaf_blocks__html_blocks__0251806 verifies conversion of GLFM to HTML1807 for 04_06_00__leaf_blocks__html_blocks__0261808 verifies conversion of GLFM to HTML1809 for 04_06_00__leaf_blocks__html_blocks__0271810 verifies conversion of GLFM to HTML1811 for 04_06_00__leaf_blocks__html_blocks__0281812 verifies conversion of GLFM to HTML1813 for 04_06_00__leaf_blocks__html_blocks__0291814 verifies conversion of GLFM to HTML1815 for 04_06_00__leaf_blocks__html_blocks__0301816 verifies conversion of GLFM to HTML1817 for 04_06_00__leaf_blocks__html_blocks__0311818 verifies conversion of GLFM to HTML1819 for 04_06_00__leaf_blocks__html_blocks__0321820 verifies conversion of GLFM to HTML1821 for 04_06_00__leaf_blocks__html_blocks__0331822 verifies conversion of GLFM to HTML1823 for 04_06_00__leaf_blocks__html_blocks__0341824 verifies conversion of GLFM to HTML1825 for 04_06_00__leaf_blocks__html_blocks__0351826 verifies conversion of GLFM to HTML1827 for 04_06_00__leaf_blocks__html_blocks__0361828 verifies conversion of GLFM to HTML1829 for 04_06_00__leaf_blocks__html_blocks__0371830 verifies conversion of GLFM to HTML1831 for 04_06_00__leaf_blocks__html_blocks__0381832 verifies conversion of GLFM to HTML1833 for 04_06_00__leaf_blocks__html_blocks__0391834 verifies conversion of GLFM to HTML1835 for 04_06_00__leaf_blocks__html_blocks__0401836 verifies conversion of GLFM to HTML1837 for 04_06_00__leaf_blocks__html_blocks__0411838 verifies conversion of GLFM to HTML1839 for 04_06_00__leaf_blocks__html_blocks__0421840 verifies conversion of GLFM to HTML1841 for 04_06_00__leaf_blocks__html_blocks__0431842 verifies conversion of GLFM to HTML1843 for 04_07_00__leaf_blocks__link_reference_definitions__0011844 verifies conversion of GLFM to HTML1845 for 04_07_00__leaf_blocks__link_reference_definitions__0021846 verifies conversion of GLFM to HTML1847 for 04_07_00__leaf_blocks__link_reference_definitions__0031848 verifies conversion of GLFM to HTML1849 for 04_07_00__leaf_blocks__link_reference_definitions__0041850 verifies conversion of GLFM to HTML1851 for 04_07_00__leaf_blocks__link_reference_definitions__0051852 verifies conversion of GLFM to HTML1853 for 04_07_00__leaf_blocks__link_reference_definitions__0061854 verifies conversion of GLFM to HTML1855 for 04_07_00__leaf_blocks__link_reference_definitions__0071856 verifies conversion of GLFM to HTML1857 for 04_07_00__leaf_blocks__link_reference_definitions__0081858 verifies conversion of GLFM to HTML1859 for 04_07_00__leaf_blocks__link_reference_definitions__0091860 verifies conversion of GLFM to HTML1861 for 04_07_00__leaf_blocks__link_reference_definitions__0101862 verifies conversion of GLFM to HTML1863 for 04_07_00__leaf_blocks__link_reference_definitions__0111864 verifies conversion of GLFM to HTML1865 for 04_07_00__leaf_blocks__link_reference_definitions__0121866 verifies conversion of GLFM to HTML1867 for 04_07_00__leaf_blocks__link_reference_definitions__0131868 verifies conversion of GLFM to HTML1869 for 04_07_00__leaf_blocks__link_reference_definitions__0141870 verifies conversion of GLFM to HTML1871 for 04_07_00__leaf_blocks__link_reference_definitions__0151872 verifies conversion of GLFM to HTML1873 for 04_07_00__leaf_blocks__link_reference_definitions__0161874 verifies conversion of GLFM to HTML1875 for 04_07_00__leaf_blocks__link_reference_definitions__0171876 verifies conversion of GLFM to HTML1877 for 04_07_00__leaf_blocks__link_reference_definitions__0181878 verifies conversion of GLFM to HTML1879 for 04_07_00__leaf_blocks__link_reference_definitions__0191880 verifies conversion of GLFM to HTML1881 for 04_07_00__leaf_blocks__link_reference_definitions__0201882 verifies conversion of GLFM to HTML1883 for 04_07_00__leaf_blocks__link_reference_definitions__0211884 verifies conversion of GLFM to HTML1885 for 04_07_00__leaf_blocks__link_reference_definitions__0221886 verifies conversion of GLFM to HTML1887 for 04_07_00__leaf_blocks__link_reference_definitions__0231888 verifies conversion of GLFM to HTML1889 for 04_07_00__leaf_blocks__link_reference_definitions__0241890 verifies conversion of GLFM to HTML1891 for 04_07_00__leaf_blocks__link_reference_definitions__0251892 verifies conversion of GLFM to HTML1893 for 04_07_00__leaf_blocks__link_reference_definitions__0261894 verifies conversion of GLFM to HTML1895 for 04_07_00__leaf_blocks__link_reference_definitions__0271896 verifies conversion of GLFM to HTML1897 for 04_07_00__leaf_blocks__link_reference_definitions__0281898 verifies conversion of GLFM to HTML1899 for 04_08_00__leaf_blocks__paragraphs__0011900 verifies conversion of GLFM to HTML1901 for 04_08_00__leaf_blocks__paragraphs__0021902 verifies conversion of GLFM to HTML1903 for 04_08_00__leaf_blocks__paragraphs__0031904 verifies conversion of GLFM to HTML1905 for 04_08_00__leaf_blocks__paragraphs__0041906 verifies conversion of GLFM to HTML1907 for 04_08_00__leaf_blocks__paragraphs__0051908 verifies conversion of GLFM to HTML1909 for 04_08_00__leaf_blocks__paragraphs__0061910 verifies conversion of GLFM to HTML1911 for 04_08_00__leaf_blocks__paragraphs__0071912 verifies conversion of GLFM to HTML1913 for 04_08_00__leaf_blocks__paragraphs__0081914 verifies conversion of GLFM to HTML1915 for 04_09_00__leaf_blocks__blank_lines__0011916 verifies conversion of GLFM to HTML1917 for 04_10_00__leaf_blocks__tables_extension__0011918 verifies conversion of GLFM to HTML1919 for 04_10_00__leaf_blocks__tables_extension__0021920 verifies conversion of GLFM to HTML1921 for 04_10_00__leaf_blocks__tables_extension__0031922 verifies conversion of GLFM to HTML1923 for 04_10_00__leaf_blocks__tables_extension__0041924 verifies conversion of GLFM to HTML1925 for 04_10_00__leaf_blocks__tables_extension__0051926 verifies conversion of GLFM to HTML1927 for 04_10_00__leaf_blocks__tables_extension__0061928 verifies conversion of GLFM to HTML1929 for 04_10_00__leaf_blocks__tables_extension__0071930 verifies conversion of GLFM to HTML1931 for 04_10_00__leaf_blocks__tables_extension__0081932 verifies conversion of GLFM to HTML1933 for 05_01_00__container_blocks__block_quotes__0011934 verifies conversion of GLFM to HTML1935 for 05_01_00__container_blocks__block_quotes__0021936 verifies conversion of GLFM to HTML1937 for 05_01_00__container_blocks__block_quotes__0031938 verifies conversion of GLFM to HTML1939 for 05_01_00__container_blocks__block_quotes__0041940 verifies conversion of GLFM to HTML1941 for 05_01_00__container_blocks__block_quotes__0051942 verifies conversion of GLFM to HTML1943 for 05_01_00__container_blocks__block_quotes__0061944 verifies conversion of GLFM to HTML1945 for 05_01_00__container_blocks__block_quotes__0071946 verifies conversion of GLFM to HTML1947 for 05_01_00__container_blocks__block_quotes__0081948 verifies conversion of GLFM to HTML1949 for 05_01_00__container_blocks__block_quotes__0091950 verifies conversion of GLFM to HTML1951 for 05_01_00__container_blocks__block_quotes__0101952 verifies conversion of GLFM to HTML1953 for 05_01_00__container_blocks__block_quotes__0111954 verifies conversion of GLFM to HTML1955 for 05_01_00__container_blocks__block_quotes__0121956 verifies conversion of GLFM to HTML1957 for 05_01_00__container_blocks__block_quotes__0131958 verifies conversion of GLFM to HTML1959 for 05_01_00__container_blocks__block_quotes__0141960 verifies conversion of GLFM to HTML1961 for 05_01_00__container_blocks__block_quotes__0151962 verifies conversion of GLFM to HTML1963 for 05_01_00__container_blocks__block_quotes__0161964 verifies conversion of GLFM to HTML1965 for 05_01_00__container_blocks__block_quotes__0171966 verifies conversion of GLFM to HTML1967 for 05_01_00__container_blocks__block_quotes__0181968 verifies conversion of GLFM to HTML1969 for 05_01_00__container_blocks__block_quotes__0191970 verifies conversion of GLFM to HTML1971 for 05_01_00__container_blocks__block_quotes__0201972 verifies conversion of GLFM to HTML1973 for 05_01_00__container_blocks__block_quotes__0211974 verifies conversion of GLFM to HTML1975 for 05_01_00__container_blocks__block_quotes__0221976 verifies conversion of GLFM to HTML1977 for 05_01_00__container_blocks__block_quotes__0231978 verifies conversion of GLFM to HTML1979 for 05_01_00__container_blocks__block_quotes__0241980 verifies conversion of GLFM to HTML1981 for 05_01_00__container_blocks__block_quotes__0251982 verifies conversion of GLFM to HTML1983 for 05_02_00__container_blocks__list_items__0011984 verifies conversion of GLFM to HTML1985 for 05_02_00__container_blocks__list_items__0021986 verifies conversion of GLFM to HTML1987 for 05_02_00__container_blocks__list_items__0031988 verifies conversion of GLFM to HTML1989 for 05_02_00__container_blocks__list_items__0041990 verifies conversion of GLFM to HTML1991 for 05_02_00__container_blocks__list_items__0051992 verifies conversion of GLFM to HTML1993 for 05_02_00__container_blocks__list_items__0061994 verifies conversion of GLFM to HTML1995 for 05_02_00__container_blocks__list_items__0071996 verifies conversion of GLFM to HTML1997 for 05_02_00__container_blocks__list_items__0081998 verifies conversion of GLFM to HTML1999 for 05_02_00__container_blocks__list_items__0092000 verifies conversion of GLFM to HTML2001 for 05_02_00__container_blocks__list_items__0102002 verifies conversion of GLFM to HTML2003 for 05_02_00__container_blocks__list_items__0112004 verifies conversion of GLFM to HTML2005 for 05_02_00__container_blocks__list_items__0122006 verifies conversion of GLFM to HTML2007 for 05_02_00__container_blocks__list_items__0132008 verifies conversion of GLFM to HTML2009 for 05_02_00__container_blocks__list_items__0142010 verifies conversion of GLFM to HTML2011 for 05_02_00__container_blocks__list_items__0152012 verifies conversion of GLFM to HTML2013 for 05_02_00__container_blocks__list_items__0162014 verifies conversion of GLFM to HTML2015 for 05_02_00__container_blocks__list_items__0172016 verifies conversion of GLFM to HTML2017 for 05_02_00__container_blocks__list_items__0182018 verifies conversion of GLFM to HTML2019 for 05_02_00__container_blocks__list_items__0192020 verifies conversion of GLFM to HTML2021 for 05_02_00__container_blocks__list_items__0202022 verifies conversion of GLFM to HTML2023 for 05_02_00__container_blocks__list_items__0212024 verifies conversion of GLFM to HTML2025 for 05_02_00__container_blocks__list_items__0222026 verifies conversion of GLFM to HTML2027 for 05_02_00__container_blocks__list_items__0232028 verifies conversion of GLFM to HTML2029 for 05_02_00__container_blocks__list_items__0242030 verifies conversion of GLFM to HTML2031 for 05_02_00__container_blocks__list_items__0252032 verifies conversion of GLFM to HTML2033 for 05_02_00__container_blocks__list_items__0262034 verifies conversion of GLFM to HTML2035 for 05_02_00__container_blocks__list_items__0272036 verifies conversion of GLFM to HTML2037 for 05_02_00__container_blocks__list_items__0282038 verifies conversion of GLFM to HTML2039 for 05_02_00__container_blocks__list_items__0292040 verifies conversion of GLFM to HTML2041 for 05_02_00__container_blocks__list_items__0302042 verifies conversion of GLFM to HTML2043 for 05_02_00__container_blocks__list_items__0312044 verifies conversion of GLFM to HTML2045 for 05_02_00__container_blocks__list_items__0322046 verifies conversion of GLFM to HTML2047 for 05_02_00__container_blocks__list_items__0332048 verifies conversion of GLFM to HTML2049 for 05_02_00__container_blocks__list_items__0342050 verifies conversion of GLFM to HTML2051 for 05_02_00__container_blocks__list_items__0352052 verifies conversion of GLFM to HTML2053 for 05_02_00__container_blocks__list_items__0362054 verifies conversion of GLFM to HTML2055 for 05_02_00__container_blocks__list_items__0372056 verifies conversion of GLFM to HTML2057 for 05_02_00__container_blocks__list_items__0382058 verifies conversion of GLFM to HTML2059 for 05_02_00__container_blocks__list_items__0392060 verifies conversion of GLFM to HTML2061 for 05_02_00__container_blocks__list_items__0402062 verifies conversion of GLFM to HTML2063 for 05_02_00__container_blocks__list_items__0412064 verifies conversion of GLFM to HTML2065 for 05_02_00__container_blocks__list_items__0422066 verifies conversion of GLFM to HTML2067 for 05_02_00__container_blocks__list_items__0432068 verifies conversion of GLFM to HTML2069 for 05_02_00__container_blocks__list_items__0442070 verifies conversion of GLFM to HTML2071 for 05_02_00__container_blocks__list_items__0452072 verifies conversion of GLFM to HTML2073 for 05_02_00__container_blocks__list_items__0462074 verifies conversion of GLFM to HTML2075 for 05_02_00__container_blocks__list_items__0472076 verifies conversion of GLFM to HTML2077 for 05_02_00__container_blocks__list_items__0482078 verifies conversion of GLFM to HTML2079 for 05_04_00__container_blocks__lists__0012080 verifies conversion of GLFM to HTML2081 for 05_04_00__container_blocks__lists__0022082 verifies conversion of GLFM to HTML2083 for 05_04_00__container_blocks__lists__0032084 verifies conversion of GLFM to HTML2085 for 05_04_00__container_blocks__lists__0042086 verifies conversion of GLFM to HTML2087 for 05_04_00__container_blocks__lists__0052088 verifies conversion of GLFM to HTML2089 for 05_04_00__container_blocks__lists__0062090 verifies conversion of GLFM to HTML2091 for 05_04_00__container_blocks__lists__0072092 verifies conversion of GLFM to HTML2093 for 05_04_00__container_blocks__lists__0082094 verifies conversion of GLFM to HTML2095 for 05_04_00__container_blocks__lists__0092096 verifies conversion of GLFM to HTML2097 for 05_04_00__container_blocks__lists__0102098 verifies conversion of GLFM to HTML2099 for 05_04_00__container_blocks__lists__0112100 verifies conversion of GLFM to HTML2101 for 05_04_00__container_blocks__lists__0122102 verifies conversion of GLFM to HTML2103 for 05_04_00__container_blocks__lists__0132104 verifies conversion of GLFM to HTML2105 for 05_04_00__container_blocks__lists__0142106 verifies conversion of GLFM to HTML2107 for 05_04_00__container_blocks__lists__0152108 verifies conversion of GLFM to HTML2109 for 05_04_00__container_blocks__lists__0162110 verifies conversion of GLFM to HTML2111 for 05_04_00__container_blocks__lists__0172112 verifies conversion of GLFM to HTML2113 for 05_04_00__container_blocks__lists__0182114 verifies conversion of GLFM to HTML2115 for 05_04_00__container_blocks__lists__0192116 verifies conversion of GLFM to HTML2117 for 05_04_00__container_blocks__lists__0202118 verifies conversion of GLFM to HTML2119 for 05_04_00__container_blocks__lists__0212120 verifies conversion of GLFM to HTML2121 for 05_04_00__container_blocks__lists__0222122 verifies conversion of GLFM to HTML2123 for 05_04_00__container_blocks__lists__0232124 verifies conversion of GLFM to HTML2125 for 05_04_00__container_blocks__lists__0242126 verifies conversion of GLFM to HTML2127 for 05_04_00__container_blocks__lists__0252128 verifies conversion of GLFM to HTML2129 for 05_04_00__container_blocks__lists__0262130 verifies conversion of GLFM to HTML2131 for 06_01_00__inlines__0012132 verifies conversion of GLFM to HTML2133 for 06_02_00__inlines__backslash_escapes__0012134 verifies conversion of GLFM to HTML2135 for 06_02_00__inlines__backslash_escapes__0022136 verifies conversion of GLFM to HTML2137 for 06_02_00__inlines__backslash_escapes__0032138 verifies conversion of GLFM to HTML2139 for 06_02_00__inlines__backslash_escapes__0042140 verifies conversion of GLFM to HTML2141 for 06_02_00__inlines__backslash_escapes__0052142 verifies conversion of GLFM to HTML2143 for 06_02_00__inlines__backslash_escapes__0062144 verifies conversion of GLFM to HTML2145 for 06_02_00__inlines__backslash_escapes__0072146 verifies conversion of GLFM to HTML2147 for 06_02_00__inlines__backslash_escapes__0082148 verifies conversion of GLFM to HTML2149 for 06_02_00__inlines__backslash_escapes__0092150 verifies conversion of GLFM to HTML2151 for 06_02_00__inlines__backslash_escapes__0102152 verifies conversion of GLFM to HTML2153 for 06_02_00__inlines__backslash_escapes__0112154 verifies conversion of GLFM to HTML2155 for 06_02_00__inlines__backslash_escapes__0122156 verifies conversion of GLFM to HTML2157 for 06_02_00__inlines__backslash_escapes__0132158 verifies conversion of GLFM to HTML2159 for 06_03_00__inlines__entity_and_numeric_character_references__0012160 verifies conversion of GLFM to HTML2161 for 06_03_00__inlines__entity_and_numeric_character_references__0022162 verifies conversion of GLFM to HTML2163 for 06_03_00__inlines__entity_and_numeric_character_references__0032164 verifies conversion of GLFM to HTML2165 for 06_03_00__inlines__entity_and_numeric_character_references__0042166 verifies conversion of GLFM to HTML2167 for 06_03_00__inlines__entity_and_numeric_character_references__0052168 verifies conversion of GLFM to HTML2169 for 06_03_00__inlines__entity_and_numeric_character_references__0062170 verifies conversion of GLFM to HTML2171 for 06_03_00__inlines__entity_and_numeric_character_references__0072172 verifies conversion of GLFM to HTML2173 for 06_03_00__inlines__entity_and_numeric_character_references__0082174 verifies conversion of GLFM to HTML2175 for 06_03_00__inlines__entity_and_numeric_character_references__0092176 verifies conversion of GLFM to HTML2177 for 06_03_00__inlines__entity_and_numeric_character_references__0102178 verifies conversion of GLFM to HTML2179 for 06_03_00__inlines__entity_and_numeric_character_references__0112180 verifies conversion of GLFM to HTML2181 for 06_03_00__inlines__entity_and_numeric_character_references__0122182 verifies conversion of GLFM to HTML2183 for 06_03_00__inlines__entity_and_numeric_character_references__0132184 verifies conversion of GLFM to HTML2185 for 06_03_00__inlines__entity_and_numeric_character_references__0142186 verifies conversion of GLFM to HTML2187 for 06_03_00__inlines__entity_and_numeric_character_references__0152188 verifies conversion of GLFM to HTML2189 for 06_03_00__inlines__entity_and_numeric_character_references__0162190 verifies conversion of GLFM to HTML2191 for 06_03_00__inlines__entity_and_numeric_character_references__0172192 verifies conversion of GLFM to HTML2193 for 06_04_00__inlines__code_spans__0012194 verifies conversion of GLFM to HTML2195 for 06_04_00__inlines__code_spans__0022196 verifies conversion of GLFM to HTML2197 for 06_04_00__inlines__code_spans__0032198 verifies conversion of GLFM to HTML2199 for 06_04_00__inlines__code_spans__0042200 verifies conversion of GLFM to HTML2201 for 06_04_00__inlines__code_spans__0052202 verifies conversion of GLFM to HTML2203 for 06_04_00__inlines__code_spans__0062204 verifies conversion of GLFM to HTML2205 for 06_04_00__inlines__code_spans__0072206 verifies conversion of GLFM to HTML2207 for 06_04_00__inlines__code_spans__0082208 verifies conversion of GLFM to HTML2209 for 06_04_00__inlines__code_spans__0092210 verifies conversion of GLFM to HTML2211 for 06_04_00__inlines__code_spans__0102212 verifies conversion of GLFM to HTML2213 for 06_04_00__inlines__code_spans__0112214 verifies conversion of GLFM to HTML2215 for 06_04_00__inlines__code_spans__0122216 verifies conversion of GLFM to HTML2217 for 06_04_00__inlines__code_spans__0132218 verifies conversion of GLFM to HTML2219 for 06_04_00__inlines__code_spans__0142220 verifies conversion of GLFM to HTML2221 for 06_04_00__inlines__code_spans__0152222 verifies conversion of GLFM to HTML2223 for 06_04_00__inlines__code_spans__0162224 verifies conversion of GLFM to HTML2225 for 06_04_00__inlines__code_spans__0172226 verifies conversion of GLFM to HTML2227 for 06_04_00__inlines__code_spans__0182228 verifies conversion of GLFM to HTML2229 for 06_04_00__inlines__code_spans__0192230 verifies conversion of GLFM to HTML2231 for 06_04_00__inlines__code_spans__0202232 verifies conversion of GLFM to HTML2233 for 06_04_00__inlines__code_spans__0212234 verifies conversion of GLFM to HTML2235 for 06_04_00__inlines__code_spans__0222236 verifies conversion of GLFM to HTML2237 for 06_05_00__inlines__emphasis_and_strong_emphasis__0012238 verifies conversion of GLFM to HTML2239 for 06_05_00__inlines__emphasis_and_strong_emphasis__0022240 verifies conversion of GLFM to HTML2241 for 06_05_00__inlines__emphasis_and_strong_emphasis__0032242 verifies conversion of GLFM to HTML2243 for 06_05_00__inlines__emphasis_and_strong_emphasis__0042244 verifies conversion of GLFM to HTML2245 for 06_05_00__inlines__emphasis_and_strong_emphasis__0052246 verifies conversion of GLFM to HTML2247 for 06_05_00__inlines__emphasis_and_strong_emphasis__0062248 verifies conversion of GLFM to HTML2249 for 06_05_00__inlines__emphasis_and_strong_emphasis__0072250 verifies conversion of GLFM to HTML2251 for 06_05_00__inlines__emphasis_and_strong_emphasis__0082252 verifies conversion of GLFM to HTML2253 for 06_05_00__inlines__emphasis_and_strong_emphasis__0092254 verifies conversion of GLFM to HTML2255 for 06_05_00__inlines__emphasis_and_strong_emphasis__0102256 verifies conversion of GLFM to HTML2257 for 06_05_00__inlines__emphasis_and_strong_emphasis__0112258 verifies conversion of GLFM to HTML2259 for 06_05_00__inlines__emphasis_and_strong_emphasis__0122260 verifies conversion of GLFM to HTML2261 for 06_05_00__inlines__emphasis_and_strong_emphasis__0132262 verifies conversion of GLFM to HTML2263 for 06_05_00__inlines__emphasis_and_strong_emphasis__0142264 verifies conversion of GLFM to HTML2265 for 06_05_00__inlines__emphasis_and_strong_emphasis__0152266 verifies conversion of GLFM to HTML2267 for 06_05_00__inlines__emphasis_and_strong_emphasis__0162268 verifies conversion of GLFM to HTML2269 for 06_05_00__inlines__emphasis_and_strong_emphasis__0172270 verifies conversion of GLFM to HTML2271 for 06_05_00__inlines__emphasis_and_strong_emphasis__0182272 verifies conversion of GLFM to HTML2273 for 06_05_00__inlines__emphasis_and_strong_emphasis__0192274 verifies conversion of GLFM to HTML2275 for 06_05_00__inlines__emphasis_and_strong_emphasis__0202276 verifies conversion of GLFM to HTML2277 for 06_05_00__inlines__emphasis_and_strong_emphasis__0212278 verifies conversion of GLFM to HTML2279 for 06_05_00__inlines__emphasis_and_strong_emphasis__0222280 verifies conversion of GLFM to HTML2281 for 06_05_00__inlines__emphasis_and_strong_emphasis__0232282 verifies conversion of GLFM to HTML2283 for 06_05_00__inlines__emphasis_and_strong_emphasis__0242284 verifies conversion of GLFM to HTML2285 for 06_05_00__inlines__emphasis_and_strong_emphasis__0252286 verifies conversion of GLFM to HTML2287 for 06_05_00__inlines__emphasis_and_strong_emphasis__0262288 verifies conversion of GLFM to HTML2289 for 06_05_00__inlines__emphasis_and_strong_emphasis__0272290 verifies conversion of GLFM to HTML2291 for 06_05_00__inlines__emphasis_and_strong_emphasis__0282292 verifies conversion of GLFM to HTML2293 for 06_05_00__inlines__emphasis_and_strong_emphasis__0292294 verifies conversion of GLFM to HTML2295 for 06_05_00__inlines__emphasis_and_strong_emphasis__0302296 verifies conversion of GLFM to HTML2297 for 06_05_00__inlines__emphasis_and_strong_emphasis__0312298 verifies conversion of GLFM to HTML2299 for 06_05_00__inlines__emphasis_and_strong_emphasis__0322300 verifies conversion of GLFM to HTML2301 for 06_05_00__inlines__emphasis_and_strong_emphasis__0332302 verifies conversion of GLFM to HTML2303 for 06_05_00__inlines__emphasis_and_strong_emphasis__0342304 verifies conversion of GLFM to HTML2305 for 06_05_00__inlines__emphasis_and_strong_emphasis__0352306 verifies conversion of GLFM to HTML2307 for 06_05_00__inlines__emphasis_and_strong_emphasis__0362308 verifies conversion of GLFM to HTML2309 for 06_05_00__inlines__emphasis_and_strong_emphasis__0372310 verifies conversion of GLFM to HTML2311 for 06_05_00__inlines__emphasis_and_strong_emphasis__0382312 verifies conversion of GLFM to HTML2313 for 06_05_00__inlines__emphasis_and_strong_emphasis__0392314 verifies conversion of GLFM to HTML2315 for 06_05_00__inlines__emphasis_and_strong_emphasis__0402316 verifies conversion of GLFM to HTML2317 for 06_05_00__inlines__emphasis_and_strong_emphasis__0412318 verifies conversion of GLFM to HTML2319 for 06_05_00__inlines__emphasis_and_strong_emphasis__0422320 verifies conversion of GLFM to HTML2321 for 06_05_00__inlines__emphasis_and_strong_emphasis__0432322 verifies conversion of GLFM to HTML2323 for 06_05_00__inlines__emphasis_and_strong_emphasis__0442324 verifies conversion of GLFM to HTML2325 for 06_05_00__inlines__emphasis_and_strong_emphasis__0452326 verifies conversion of GLFM to HTML2327 for 06_05_00__inlines__emphasis_and_strong_emphasis__0462328 verifies conversion of GLFM to HTML2329 for 06_05_00__inlines__emphasis_and_strong_emphasis__0472330 verifies conversion of GLFM to HTML2331 for 06_05_00__inlines__emphasis_and_strong_emphasis__0482332 verifies conversion of GLFM to HTML2333 for 06_05_00__inlines__emphasis_and_strong_emphasis__0492334 verifies conversion of GLFM to HTML2335 for 06_05_00__inlines__emphasis_and_strong_emphasis__0502336 verifies conversion of GLFM to HTML2337 for 06_05_00__inlines__emphasis_and_strong_emphasis__0512338 verifies conversion of GLFM to HTML2339 for 06_05_00__inlines__emphasis_and_strong_emphasis__0522340 verifies conversion of GLFM to HTML2341 for 06_05_00__inlines__emphasis_and_strong_emphasis__0532342 verifies conversion of GLFM to HTML2343 for 06_05_00__inlines__emphasis_and_strong_emphasis__0542344 verifies conversion of GLFM to HTML2345 for 06_05_00__inlines__emphasis_and_strong_emphasis__0552346 verifies conversion of GLFM to HTML2347 for 06_05_00__inlines__emphasis_and_strong_emphasis__0562348 verifies conversion of GLFM to HTML2349 for 06_05_00__inlines__emphasis_and_strong_emphasis__0572350 verifies conversion of GLFM to HTML2351 for 06_05_00__inlines__emphasis_and_strong_emphasis__0582352 verifies conversion of GLFM to HTML2353 for 06_05_00__inlines__emphasis_and_strong_emphasis__0592354 verifies conversion of GLFM to HTML2355 for 06_05_00__inlines__emphasis_and_strong_emphasis__0602356 verifies conversion of GLFM to HTML2357 for 06_05_00__inlines__emphasis_and_strong_emphasis__0612358 verifies conversion of GLFM to HTML2359 for 06_05_00__inlines__emphasis_and_strong_emphasis__0622360 verifies conversion of GLFM to HTML2361 for 06_05_00__inlines__emphasis_and_strong_emphasis__0632362 verifies conversion of GLFM to HTML2363 for 06_05_00__inlines__emphasis_and_strong_emphasis__0642364 verifies conversion of GLFM to HTML2365 for 06_05_00__inlines__emphasis_and_strong_emphasis__0652366 verifies conversion of GLFM to HTML2367 for 06_05_00__inlines__emphasis_and_strong_emphasis__0662368 verifies conversion of GLFM to HTML2369 for 06_05_00__inlines__emphasis_and_strong_emphasis__0672370 verifies conversion of GLFM to HTML2371 for 06_05_00__inlines__emphasis_and_strong_emphasis__0682372 verifies conversion of GLFM to HTML2373 for 06_05_00__inlines__emphasis_and_strong_emphasis__0692374 verifies conversion of GLFM to HTML2375 for 06_05_00__inlines__emphasis_and_strong_emphasis__0702376 verifies conversion of GLFM to HTML2377 for 06_05_00__inlines__emphasis_and_strong_emphasis__0712378 verifies conversion of GLFM to HTML2379 for 06_05_00__inlines__emphasis_and_strong_emphasis__0722380 verifies conversion of GLFM to HTML2381 for 06_05_00__inlines__emphasis_and_strong_emphasis__0732382 verifies conversion of GLFM to HTML2383 for 06_05_00__inlines__emphasis_and_strong_emphasis__0742384 verifies conversion of GLFM to HTML2385 for 06_05_00__inlines__emphasis_and_strong_emphasis__0752386 verifies conversion of GLFM to HTML2387 for 06_05_00__inlines__emphasis_and_strong_emphasis__0762388 verifies conversion of GLFM to HTML2389 for 06_05_00__inlines__emphasis_and_strong_emphasis__0772390 verifies conversion of GLFM to HTML2391 for 06_05_00__inlines__emphasis_and_strong_emphasis__0782392 verifies conversion of GLFM to HTML2393 for 06_05_00__inlines__emphasis_and_strong_emphasis__0792394 verifies conversion of GLFM to HTML2395 for 06_05_00__inlines__emphasis_and_strong_emphasis__0802396 verifies conversion of GLFM to HTML2397 for 06_05_00__inlines__emphasis_and_strong_emphasis__0812398 verifies conversion of GLFM to HTML2399 for 06_05_00__inlines__emphasis_and_strong_emphasis__0822400 verifies conversion of GLFM to HTML2401 for 06_05_00__inlines__emphasis_and_strong_emphasis__0832402 verifies conversion of GLFM to HTML2403 for 06_05_00__inlines__emphasis_and_strong_emphasis__0842404 verifies conversion of GLFM to HTML2405 for 06_05_00__inlines__emphasis_and_strong_emphasis__0852406 verifies conversion of GLFM to HTML2407 for 06_05_00__inlines__emphasis_and_strong_emphasis__0862408 verifies conversion of GLFM to HTML2409 for 06_05_00__inlines__emphasis_and_strong_emphasis__0872410 verifies conversion of GLFM to HTML2411 for 06_05_00__inlines__emphasis_and_strong_emphasis__0882412 verifies conversion of GLFM to HTML2413 for 06_05_00__inlines__emphasis_and_strong_emphasis__0892414 verifies conversion of GLFM to HTML2415 for 06_05_00__inlines__emphasis_and_strong_emphasis__0902416 verifies conversion of GLFM to HTML2417 for 06_05_00__inlines__emphasis_and_strong_emphasis__0912418 verifies conversion of GLFM to HTML2419 for 06_05_00__inlines__emphasis_and_strong_emphasis__0922420 verifies conversion of GLFM to HTML2421 for 06_05_00__inlines__emphasis_and_strong_emphasis__0932422 verifies conversion of GLFM to HTML2423 for 06_05_00__inlines__emphasis_and_strong_emphasis__0942424 verifies conversion of GLFM to HTML2425 for 06_05_00__inlines__emphasis_and_strong_emphasis__0952426 verifies conversion of GLFM to HTML2427 for 06_05_00__inlines__emphasis_and_strong_emphasis__0962428 verifies conversion of GLFM to HTML2429 for 06_05_00__inlines__emphasis_and_strong_emphasis__0972430 verifies conversion of GLFM to HTML2431 for 06_05_00__inlines__emphasis_and_strong_emphasis__0982432 verifies conversion of GLFM to HTML2433 for 06_05_00__inlines__emphasis_and_strong_emphasis__0992434 verifies conversion of GLFM to HTML2435 for 06_05_00__inlines__emphasis_and_strong_emphasis__1002436 verifies conversion of GLFM to HTML2437 for 06_05_00__inlines__emphasis_and_strong_emphasis__1012438 verifies conversion of GLFM to HTML2439 for 06_05_00__inlines__emphasis_and_strong_emphasis__1022440 verifies conversion of GLFM to HTML2441 for 06_05_00__inlines__emphasis_and_strong_emphasis__1032442 verifies conversion of GLFM to HTML2443 for 06_05_00__inlines__emphasis_and_strong_emphasis__1042444 verifies conversion of GLFM to HTML2445 for 06_05_00__inlines__emphasis_and_strong_emphasis__1052446 verifies conversion of GLFM to HTML2447 for 06_05_00__inlines__emphasis_and_strong_emphasis__1062448 verifies conversion of GLFM to HTML2449 for 06_05_00__inlines__emphasis_and_strong_emphasis__1072450 verifies conversion of GLFM to HTML2451 for 06_05_00__inlines__emphasis_and_strong_emphasis__1082452 verifies conversion of GLFM to HTML2453 for 06_05_00__inlines__emphasis_and_strong_emphasis__1092454 verifies conversion of GLFM to HTML2455 for 06_05_00__inlines__emphasis_and_strong_emphasis__1102456 verifies conversion of GLFM to HTML2457 for 06_05_00__inlines__emphasis_and_strong_emphasis__1112458 verifies conversion of GLFM to HTML2459 for 06_05_00__inlines__emphasis_and_strong_emphasis__1122460 verifies conversion of GLFM to HTML2461 for 06_05_00__inlines__emphasis_and_strong_emphasis__1132462 verifies conversion of GLFM to HTML2463 for 06_05_00__inlines__emphasis_and_strong_emphasis__1142464 verifies conversion of GLFM to HTML2465 for 06_05_00__inlines__emphasis_and_strong_emphasis__1152466 verifies conversion of GLFM to HTML2467 for 06_05_00__inlines__emphasis_and_strong_emphasis__1162468 verifies conversion of GLFM to HTML2469 for 06_05_00__inlines__emphasis_and_strong_emphasis__1172470 verifies conversion of GLFM to HTML2471 for 06_05_00__inlines__emphasis_and_strong_emphasis__1182472 verifies conversion of GLFM to HTML2473 for 06_05_00__inlines__emphasis_and_strong_emphasis__1192474 verifies conversion of GLFM to HTML2475 for 06_05_00__inlines__emphasis_and_strong_emphasis__1202476 verifies conversion of GLFM to HTML2477 for 06_05_00__inlines__emphasis_and_strong_emphasis__1212478 verifies conversion of GLFM to HTML2479 for 06_05_00__inlines__emphasis_and_strong_emphasis__1222480 verifies conversion of GLFM to HTML2481 for 06_05_00__inlines__emphasis_and_strong_emphasis__1232482 verifies conversion of GLFM to HTML2483 for 06_05_00__inlines__emphasis_and_strong_emphasis__1242484 verifies conversion of GLFM to HTML2485 for 06_05_00__inlines__emphasis_and_strong_emphasis__1252486 verifies conversion of GLFM to HTML2487 for 06_05_00__inlines__emphasis_and_strong_emphasis__1262488 verifies conversion of GLFM to HTML2489 for 06_05_00__inlines__emphasis_and_strong_emphasis__1272490 verifies conversion of GLFM to HTML2491 for 06_05_00__inlines__emphasis_and_strong_emphasis__1282492 verifies conversion of GLFM to HTML2493 for 06_05_00__inlines__emphasis_and_strong_emphasis__1292494 verifies conversion of GLFM to HTML2495 for 06_05_00__inlines__emphasis_and_strong_emphasis__1302496 verifies conversion of GLFM to HTML2497 for 06_05_00__inlines__emphasis_and_strong_emphasis__1312498 verifies conversion of GLFM to HTML2499 for 06_06_00__inlines__strikethrough_extension__0012500 verifies conversion of GLFM to HTML2501 for 06_06_00__inlines__strikethrough_extension__0022502 verifies conversion of GLFM to HTML2503 for 06_07_00__inlines__links__0012504 verifies conversion of GLFM to HTML2505 for 06_07_00__inlines__links__0022506 verifies conversion of GLFM to HTML2507 for 06_07_00__inlines__links__0032508 verifies conversion of GLFM to HTML2509 for 06_07_00__inlines__links__0042510 verifies conversion of GLFM to HTML2511 for 06_07_00__inlines__links__0052512 verifies conversion of GLFM to HTML2513 for 06_07_00__inlines__links__0062514 verifies conversion of GLFM to HTML2515 for 06_07_00__inlines__links__0072516 verifies conversion of GLFM to HTML2517 for 06_07_00__inlines__links__0082518 verifies conversion of GLFM to HTML2519 for 06_07_00__inlines__links__0092520 verifies conversion of GLFM to HTML2521 for 06_07_00__inlines__links__0102522 verifies conversion of GLFM to HTML2523 for 06_07_00__inlines__links__0112524 verifies conversion of GLFM to HTML2525 for 06_07_00__inlines__links__0122526 verifies conversion of GLFM to HTML2527 for 06_07_00__inlines__links__0132528 verifies conversion of GLFM to HTML2529 for 06_07_00__inlines__links__0142530 verifies conversion of GLFM to HTML2531 for 06_07_00__inlines__links__0152532 verifies conversion of GLFM to HTML2533 for 06_07_00__inlines__links__0162534 verifies conversion of GLFM to HTML2535 for 06_07_00__inlines__links__0172536 verifies conversion of GLFM to HTML2537 for 06_07_00__inlines__links__0182538 verifies conversion of GLFM to HTML2539 for 06_07_00__inlines__links__0192540 verifies conversion of GLFM to HTML2541 for 06_07_00__inlines__links__0202542 verifies conversion of GLFM to HTML2543 for 06_07_00__inlines__links__0212544 verifies conversion of GLFM to HTML2545 for 06_07_00__inlines__links__0222546 verifies conversion of GLFM to HTML2547 for 06_07_00__inlines__links__0232548 verifies conversion of GLFM to HTML2549 for 06_07_00__inlines__links__0242550 verifies conversion of GLFM to HTML2551 for 06_07_00__inlines__links__0252552 verifies conversion of GLFM to HTML2553 for 06_07_00__inlines__links__0262554 verifies conversion of GLFM to HTML2555 for 06_07_00__inlines__links__0272556 verifies conversion of GLFM to HTML2557 for 06_07_00__inlines__links__0282558 verifies conversion of GLFM to HTML2559 for 06_07_00__inlines__links__0292560 verifies conversion of GLFM to HTML2561 for 06_07_00__inlines__links__0302562 verifies conversion of GLFM to HTML2563 for 06_07_00__inlines__links__0312564 verifies conversion of GLFM to HTML2565 for 06_07_00__inlines__links__0322566 verifies conversion of GLFM to HTML2567 for 06_07_00__inlines__links__0332568 verifies conversion of GLFM to HTML2569 for 06_07_00__inlines__links__0342570 verifies conversion of GLFM to HTML2571 for 06_07_00__inlines__links__0352572 verifies conversion of GLFM to HTML2573 for 06_07_00__inlines__links__0362574 verifies conversion of GLFM to HTML2575 for 06_07_00__inlines__links__0372576 verifies conversion of GLFM to HTML2577 for 06_07_00__inlines__links__0382578 verifies conversion of GLFM to HTML2579 for 06_07_00__inlines__links__0392580 verifies conversion of GLFM to HTML2581 for 06_07_00__inlines__links__0402582 verifies conversion of GLFM to HTML2583 for 06_07_00__inlines__links__0412584 verifies conversion of GLFM to HTML2585 for 06_07_00__inlines__links__0422586 verifies conversion of GLFM to HTML2587 for 06_07_00__inlines__links__0432588 verifies conversion of GLFM to HTML2589 for 06_07_00__inlines__links__0442590 verifies conversion of GLFM to HTML2591 for 06_07_00__inlines__links__0452592 verifies conversion of GLFM to HTML2593 for 06_07_00__inlines__links__0462594 verifies conversion of GLFM to HTML2595 for 06_07_00__inlines__links__0472596 verifies conversion of GLFM to HTML2597 for 06_07_00__inlines__links__0482598 verifies conversion of GLFM to HTML2599 for 06_07_00__inlines__links__0492600 verifies conversion of GLFM to HTML2601 for 06_07_00__inlines__links__0502602 verifies conversion of GLFM to HTML2603 for 06_07_00__inlines__links__0512604 verifies conversion of GLFM to HTML2605 for 06_07_00__inlines__links__0522606 verifies conversion of GLFM to HTML2607 for 06_07_00__inlines__links__0532608 verifies conversion of GLFM to HTML2609 for 06_07_00__inlines__links__0542610 verifies conversion of GLFM to HTML2611 for 06_07_00__inlines__links__0552612 verifies conversion of GLFM to HTML2613 for 06_07_00__inlines__links__0562614 verifies conversion of GLFM to HTML2615 for 06_07_00__inlines__links__0572616 verifies conversion of GLFM to HTML2617 for 06_07_00__inlines__links__0582618 verifies conversion of GLFM to HTML2619 for 06_07_00__inlines__links__0592620 verifies conversion of GLFM to HTML2621 for 06_07_00__inlines__links__0602622 verifies conversion of GLFM to HTML2623 for 06_07_00__inlines__links__0612624 verifies conversion of GLFM to HTML2625 for 06_07_00__inlines__links__0622626 verifies conversion of GLFM to HTML2627 for 06_07_00__inlines__links__0632628 verifies conversion of GLFM to HTML2629 for 06_07_00__inlines__links__0642630 verifies conversion of GLFM to HTML2631 for 06_07_00__inlines__links__0652632 verifies conversion of GLFM to HTML2633 for 06_07_00__inlines__links__0662634 verifies conversion of GLFM to HTML2635 for 06_07_00__inlines__links__0672636 verifies conversion of GLFM to HTML2637 for 06_07_00__inlines__links__0682638 verifies conversion of GLFM to HTML2639 for 06_07_00__inlines__links__0692640 verifies conversion of GLFM to HTML2641 for 06_07_00__inlines__links__0702642 verifies conversion of GLFM to HTML2643 for 06_07_00__inlines__links__0712644 verifies conversion of GLFM to HTML2645 for 06_07_00__inlines__links__0722646 verifies conversion of GLFM to HTML2647 for 06_07_00__inlines__links__0732648 verifies conversion of GLFM to HTML2649 for 06_07_00__inlines__links__0742650 verifies conversion of GLFM to HTML2651 for 06_07_00__inlines__links__0752652 verifies conversion of GLFM to HTML2653 for 06_07_00__inlines__links__0762654 verifies conversion of GLFM to HTML2655 for 06_07_00__inlines__links__0772656 verifies conversion of GLFM to HTML2657 for 06_07_00__inlines__links__0782658 verifies conversion of GLFM to HTML2659 for 06_07_00__inlines__links__0792660 verifies conversion of GLFM to HTML2661 for 06_07_00__inlines__links__0802662 verifies conversion of GLFM to HTML2663 for 06_07_00__inlines__links__0812664 verifies conversion of GLFM to HTML2665 for 06_07_00__inlines__links__0822666 verifies conversion of GLFM to HTML2667 for 06_07_00__inlines__links__0832668 verifies conversion of GLFM to HTML2669 for 06_07_00__inlines__links__0842670 verifies conversion of GLFM to HTML2671 for 06_07_00__inlines__links__0852672 verifies conversion of GLFM to HTML2673 for 06_07_00__inlines__links__0862674 verifies conversion of GLFM to HTML2675 for 06_07_00__inlines__links__0872676 verifies conversion of GLFM to HTML2677 for 06_08_00__inlines__images__0012678 verifies conversion of GLFM to HTML2679 for 06_08_00__inlines__images__0022680 verifies conversion of GLFM to HTML2681 for 06_08_00__inlines__images__0032682 verifies conversion of GLFM to HTML2683 for 06_08_00__inlines__images__0042684 verifies conversion of GLFM to HTML2685 for 06_08_00__inlines__images__0052686 verifies conversion of GLFM to HTML2687 for 06_08_00__inlines__images__0062688 verifies conversion of GLFM to HTML2689 for 06_08_00__inlines__images__0072690 verifies conversion of GLFM to HTML2691 for 06_08_00__inlines__images__0082692 verifies conversion of GLFM to HTML2693 for 06_08_00__inlines__images__0092694 verifies conversion of GLFM to HTML2695 for 06_08_00__inlines__images__0102696 verifies conversion of GLFM to HTML2697 for 06_08_00__inlines__images__0112698 verifies conversion of GLFM to HTML2699 for 06_08_00__inlines__images__0122700 verifies conversion of GLFM to HTML2701 for 06_08_00__inlines__images__0132702 verifies conversion of GLFM to HTML2703 for 06_08_00__inlines__images__0142704 verifies conversion of GLFM to HTML2705 for 06_08_00__inlines__images__0152706 verifies conversion of GLFM to HTML2707 for 06_08_00__inlines__images__0162708 verifies conversion of GLFM to HTML2709 for 06_08_00__inlines__images__0172710 verifies conversion of GLFM to HTML2711 for 06_08_00__inlines__images__0182712 verifies conversion of GLFM to HTML2713 for 06_08_00__inlines__images__0192714 verifies conversion of GLFM to HTML2715 for 06_08_00__inlines__images__0202716 verifies conversion of GLFM to HTML2717 for 06_08_00__inlines__images__0212718 verifies conversion of GLFM to HTML2719 for 06_08_00__inlines__images__0222720 verifies conversion of GLFM to HTML2721 for 06_09_00__inlines__autolinks__0012722 verifies conversion of GLFM to HTML2723 for 06_09_00__inlines__autolinks__0022724 verifies conversion of GLFM to HTML2725 for 06_09_00__inlines__autolinks__0032726 verifies conversion of GLFM to HTML2727 for 06_09_00__inlines__autolinks__0042728 verifies conversion of GLFM to HTML2729 for 06_09_00__inlines__autolinks__0052730 verifies conversion of GLFM to HTML2731 for 06_09_00__inlines__autolinks__0062732 verifies conversion of GLFM to HTML2733 for 06_09_00__inlines__autolinks__0072734 verifies conversion of GLFM to HTML2735 for 06_09_00__inlines__autolinks__0082736 verifies conversion of GLFM to HTML2737 for 06_09_00__inlines__autolinks__0092738 verifies conversion of GLFM to HTML2739 for 06_09_00__inlines__autolinks__0102740 verifies conversion of GLFM to HTML2741 for 06_09_00__inlines__autolinks__0112742 verifies conversion of GLFM to HTML2743 for 06_09_00__inlines__autolinks__0122744 verifies conversion of GLFM to HTML2745 for 06_09_00__inlines__autolinks__0132746 verifies conversion of GLFM to HTML2747 for 06_09_00__inlines__autolinks__0142748 verifies conversion of GLFM to HTML2749 for 06_09_00__inlines__autolinks__0152750 verifies conversion of GLFM to HTML2751 for 06_09_00__inlines__autolinks__0162752 verifies conversion of GLFM to HTML2753 for 06_09_00__inlines__autolinks__0172754 verifies conversion of GLFM to HTML2755 for 06_09_00__inlines__autolinks__0182756 verifies conversion of GLFM to HTML2757 for 06_09_00__inlines__autolinks__0192758 verifies conversion of GLFM to HTML2759 for 06_10_00__inlines__autolinks_extension__0012760 verifies conversion of GLFM to HTML2761 for 06_10_00__inlines__autolinks_extension__0022762 verifies conversion of GLFM to HTML2763 for 06_10_00__inlines__autolinks_extension__0032764 verifies conversion of GLFM to HTML2765 for 06_10_00__inlines__autolinks_extension__0042766 verifies conversion of GLFM to HTML2767 for 06_10_00__inlines__autolinks_extension__0052768 verifies conversion of GLFM to HTML2769 for 06_10_00__inlines__autolinks_extension__0062770 verifies conversion of GLFM to HTML2771 for 06_10_00__inlines__autolinks_extension__0072772 verifies conversion of GLFM to HTML2773 for 06_10_00__inlines__autolinks_extension__0082774 verifies conversion of GLFM to HTML2775 for 06_10_00__inlines__autolinks_extension__0092776 verifies conversion of GLFM to HTML2777 for 06_10_00__inlines__autolinks_extension__0102778 verifies conversion of GLFM to HTML2779 for 06_10_00__inlines__autolinks_extension__0112780 verifies conversion of GLFM to HTML2781 for 06_11_00__inlines__raw_html__0012782 verifies conversion of GLFM to HTML2783 for 06_11_00__inlines__raw_html__0022784 verifies conversion of GLFM to HTML2785 for 06_11_00__inlines__raw_html__0032786 verifies conversion of GLFM to HTML2787 for 06_11_00__inlines__raw_html__0042788 verifies conversion of GLFM to HTML2789 for 06_11_00__inlines__raw_html__0052790 verifies conversion of GLFM to HTML2791 for 06_11_00__inlines__raw_html__0062792 verifies conversion of GLFM to HTML2793 for 06_11_00__inlines__raw_html__0072794 verifies conversion of GLFM to HTML2795 for 06_11_00__inlines__raw_html__0082796 verifies conversion of GLFM to HTML2797 for 06_11_00__inlines__raw_html__0092798 verifies conversion of GLFM to HTML2799 for 06_11_00__inlines__raw_html__0102800 verifies conversion of GLFM to HTML2801 for 06_11_00__inlines__raw_html__0112802 verifies conversion of GLFM to HTML2803 for 06_11_00__inlines__raw_html__0122804 verifies conversion of GLFM to HTML2805 for 06_11_00__inlines__raw_html__0132806 verifies conversion of GLFM to HTML2807 for 06_11_00__inlines__raw_html__0142808 verifies conversion of GLFM to HTML2809 for 06_11_00__inlines__raw_html__0152810 verifies conversion of GLFM to HTML2811 for 06_11_00__inlines__raw_html__0162812 verifies conversion of GLFM to HTML2813 for 06_11_00__inlines__raw_html__0172814 verifies conversion of GLFM to HTML2815 for 06_11_00__inlines__raw_html__0182816 verifies conversion of GLFM to HTML2817 for 06_11_00__inlines__raw_html__0192818 verifies conversion of GLFM to HTML2819 for 06_11_00__inlines__raw_html__0202820 verifies conversion of GLFM to HTML2821 for 06_11_00__inlines__raw_html__0212822 verifies conversion of GLFM to HTML2823 for 06_12_00__inlines__disallowed_raw_html_extension__0012824 verifies conversion of GLFM to HTML2825 for 06_13_00__inlines__hard_line_breaks__0012826 verifies conversion of GLFM to HTML2827 for 06_13_00__inlines__hard_line_breaks__0022828 verifies conversion of GLFM to HTML2829 for 06_13_00__inlines__hard_line_breaks__0032830 verifies conversion of GLFM to HTML2831 for 06_13_00__inlines__hard_line_breaks__0042832 verifies conversion of GLFM to HTML2833 for 06_13_00__inlines__hard_line_breaks__0052834 verifies conversion of GLFM to HTML2835 for 06_13_00__inlines__hard_line_breaks__0062836 verifies conversion of GLFM to HTML2837 for 06_13_00__inlines__hard_line_breaks__0072838 verifies conversion of GLFM to HTML2839 for 06_13_00__inlines__hard_line_breaks__0082840 verifies conversion of GLFM to HTML2841 for 06_13_00__inlines__hard_line_breaks__0092842 verifies conversion of GLFM to HTML2843 for 06_13_00__inlines__hard_line_breaks__0102844 verifies conversion of GLFM to HTML2845 for 06_13_00__inlines__hard_line_breaks__0112846 verifies conversion of GLFM to HTML2847 for 06_13_00__inlines__hard_line_breaks__0122848 verifies conversion of GLFM to HTML2849 for 06_13_00__inlines__hard_line_breaks__0132850 verifies conversion of GLFM to HTML2851 for 06_13_00__inlines__hard_line_breaks__0142852 verifies conversion of GLFM to HTML2853 for 06_13_00__inlines__hard_line_breaks__0152854 verifies conversion of GLFM to HTML2855 for 06_14_00__inlines__soft_line_breaks__0012856 verifies conversion of GLFM to HTML2857 for 06_14_00__inlines__soft_line_breaks__0022858 verifies conversion of GLFM to HTML2859 for 06_15_00__inlines__textual_content__0012860 verifies conversion of GLFM to HTML2861 for 06_15_00__inlines__textual_content__0022862 verifies conversion of GLFM to HTML2863 for 06_15_00__inlines__textual_content__0032864 verifies conversion of GLFM to HTML2865 for 07_01_00__gitlab_official_specification_markdown__task_list_items__0012866 verifies conversion of GLFM to HTML2867 for 07_01_00__gitlab_official_specification_markdown__task_list_items__0022868 verifies conversion of GLFM to HTML2869 for 07_01_00__gitlab_official_specification_markdown__task_list_items__0032870 verifies conversion of GLFM to HTML2871 for 07_01_00__gitlab_official_specification_markdown__task_list_items__0042872 verifies conversion of GLFM to HTML2873 for 07_02_00__gitlab_official_specification_markdown__front_matter__0012874 verifies conversion of GLFM to HTML2875 for 07_02_00__gitlab_official_specification_markdown__front_matter__0022876 verifies conversion of GLFM to HTML2877 for 07_02_00__gitlab_official_specification_markdown__front_matter__0032878 verifies conversion of GLFM to HTML2879 for 07_02_00__gitlab_official_specification_markdown__front_matter__0042880 verifies conversion of GLFM to HTML2881 for 07_02_00__gitlab_official_specification_markdown__front_matter__0052882 verifies conversion of GLFM to HTML2883 for 07_03_00__gitlab_official_specification_markdown__table_of_contents__0012884 verifies conversion of GLFM to HTML2885 for 07_03_00__gitlab_official_specification_markdown__table_of_contents__0022886 verifies conversion of GLFM to HTML2887 for 07_03_00__gitlab_official_specification_markdown__table_of_contents__0032888 verifies conversion of GLFM to HTML2889 for 07_03_00__gitlab_official_specification_markdown__table_of_contents__0042890 verifies conversion of GLFM to HTML2891 for 08_01_00__gitlab_internal_extension_markdown__audio__0012892 verifies conversion of GLFM to HTML2893 for 08_01_00__gitlab_internal_extension_markdown__audio__0022894 verifies conversion of GLFM to HTML2895 for 08_02_00__gitlab_internal_extension_markdown__video__0012896 verifies conversion of GLFM to HTML2897 for 08_02_00__gitlab_internal_extension_markdown__video__0022898 verifies conversion of GLFM to HTML2899 for 08_03_00__gitlab_internal_extension_markdown__markdown_preview_api_request_overrides__0012900 verifies conversion of GLFM to HTML2901 for 08_03_00__gitlab_internal_extension_markdown__markdown_preview_api_request_overrides__0022902 verifies conversion of GLFM to HTML2903 for 08_03_00__gitlab_internal_extension_markdown__markdown_preview_api_request_overrides__0032904 verifies conversion of GLFM to HTML2905 for 08_03_00__gitlab_internal_extension_markdown__markdown_preview_api_request_overrides__0042906 verifies conversion of GLFM to HTML2907 for 08_03_00__gitlab_internal_extension_markdown__markdown_preview_api_request_overrides__0052908 verifies conversion of GLFM to HTML2909 for 08_04_01__gitlab_internal_extension_markdown__migrated_golden_master_examples__attachment_image_for_group__0012910 verifies conversion of GLFM to HTML2911 for 08_04_02__gitlab_internal_extension_markdown__migrated_golden_master_examples__attachment_image_for_project__0012912 verifies conversion of GLFM to HTML2913 for 08_04_03__gitlab_internal_extension_markdown__migrated_golden_master_examples__attachment_image_for_project_wiki__0012914 verifies conversion of GLFM to HTML2915 for 08_04_04__gitlab_internal_extension_markdown__migrated_golden_master_examples__attachment_link_for_group__0012916 verifies conversion of GLFM to HTML2917 for 08_04_05__gitlab_internal_extension_markdown__migrated_golden_master_examples__attachment_link_for_project__0012918 verifies conversion of GLFM to HTML2919 for 08_04_06__gitlab_internal_extension_markdown__migrated_golden_master_examples__attachment_link_for_project_wiki__0012920 verifies conversion of GLFM to HTML2921 for 08_04_08__gitlab_internal_extension_markdown__migrated_golden_master_examples__audio__0012922 verifies conversion of GLFM to HTML2923 for 08_04_09__gitlab_internal_extension_markdown__migrated_golden_master_examples__audio_and_video_in_lists__0012924 verifies conversion of GLFM to HTML2925 for 08_04_10__gitlab_internal_extension_markdown__migrated_golden_master_examples__blockquote__0012926 verifies conversion of GLFM to HTML2927 for 08_04_11__gitlab_internal_extension_markdown__migrated_golden_master_examples__bold__0012928 verifies conversion of GLFM to HTML2929 for 08_04_12__gitlab_internal_extension_markdown__migrated_golden_master_examples__bullet_list_style_1__0012930 verifies conversion of GLFM to HTML2931 for 08_04_13__gitlab_internal_extension_markdown__migrated_golden_master_examples__bullet_list_style_2__0012932 verifies conversion of GLFM to HTML2933 for 08_04_14__gitlab_internal_extension_markdown__migrated_golden_master_examples__bullet_list_style_3__0012934 verifies conversion of GLFM to HTML2935 for 08_04_15__gitlab_internal_extension_markdown__migrated_golden_master_examples__code_block_javascript__0012936 verifies conversion of GLFM to HTML2937 for 08_04_16__gitlab_internal_extension_markdown__migrated_golden_master_examples__code_block_plaintext__0012938 verifies conversion of GLFM to HTML2939 for 08_04_17__gitlab_internal_extension_markdown__migrated_golden_master_examples__code_block_unknown__0012940 verifies conversion of GLFM to HTML2941 for 08_04_18__gitlab_internal_extension_markdown__migrated_golden_master_examples__color_chips__0012942 verifies conversion of GLFM to HTML2943 for 08_04_19__gitlab_internal_extension_markdown__migrated_golden_master_examples__description_list__0012944 verifies conversion of GLFM to HTML2945 for 08_04_20__gitlab_internal_extension_markdown__migrated_golden_master_examples__details__0012946 verifies conversion of GLFM to HTML2947 for 08_04_21__gitlab_internal_extension_markdown__migrated_golden_master_examples__diagram_kroki_nomnoml__0012948 verifies conversion of GLFM to HTML2949 for 08_04_22__gitlab_internal_extension_markdown__migrated_golden_master_examples__diagram_plantuml__0012950 verifies conversion of GLFM to HTML2951 for 08_04_23__gitlab_internal_extension_markdown__migrated_golden_master_examples__diagram_plantuml_unicode__0012952 verifies conversion of GLFM to HTML2953 for 08_04_24__gitlab_internal_extension_markdown__migrated_golden_master_examples__div__0012954 verifies conversion of GLFM to HTML2955 for 08_04_25__gitlab_internal_extension_markdown__migrated_golden_master_examples__emoji__0012956 verifies conversion of GLFM to HTML2957 for 08_04_26__gitlab_internal_extension_markdown__migrated_golden_master_examples__emphasis__0012958 verifies conversion of GLFM to HTML2959 for 08_04_27__gitlab_internal_extension_markdown__migrated_golden_master_examples__figure__0012960 verifies conversion of GLFM to HTML2961 for 08_04_28__gitlab_internal_extension_markdown__migrated_golden_master_examples__footnotes__0012962 verifies conversion of GLFM to HTML2963 for 08_04_29__gitlab_internal_extension_markdown__migrated_golden_master_examples__frontmatter_json__0012964 verifies conversion of GLFM to HTML2965 for 08_04_30__gitlab_internal_extension_markdown__migrated_golden_master_examples__frontmatter_toml__0012966 verifies conversion of GLFM to HTML2967 for 08_04_31__gitlab_internal_extension_markdown__migrated_golden_master_examples__frontmatter_yaml__0012968 verifies conversion of GLFM to HTML2969 for 08_04_32__gitlab_internal_extension_markdown__migrated_golden_master_examples__hard_break__0012970 verifies conversion of GLFM to HTML2971 for 08_04_33__gitlab_internal_extension_markdown__migrated_golden_master_examples__headings__0012972 verifies conversion of GLFM to HTML2973 for 08_04_34__gitlab_internal_extension_markdown__migrated_golden_master_examples__horizontal_rule__0012974 verifies conversion of GLFM to HTML2975 for 08_04_35__gitlab_internal_extension_markdown__migrated_golden_master_examples__html_marks__0012976 verifies conversion of GLFM to HTML2977 for 08_04_36__gitlab_internal_extension_markdown__migrated_golden_master_examples__image__0012978 verifies conversion of GLFM to HTML2979 for 08_04_37__gitlab_internal_extension_markdown__migrated_golden_master_examples__inline_code__0012980 verifies conversion of GLFM to HTML2981 for 08_04_38__gitlab_internal_extension_markdown__migrated_golden_master_examples__inline_diff__0012982 verifies conversion of GLFM to HTML2983 for 08_04_39__gitlab_internal_extension_markdown__migrated_golden_master_examples__label__0012984 verifies conversion of GLFM to HTML2985 for 08_04_40__gitlab_internal_extension_markdown__migrated_golden_master_examples__link__0012986 verifies conversion of GLFM to HTML2987 for 08_04_41__gitlab_internal_extension_markdown__migrated_golden_master_examples__math__0012988 verifies conversion of GLFM to HTML2989 for 08_04_42__gitlab_internal_extension_markdown__migrated_golden_master_examples__ordered_list__0012990 verifies conversion of GLFM to HTML2991 for 08_04_43__gitlab_internal_extension_markdown__migrated_golden_master_examples__ordered_list_with_start_order__0012992 verifies conversion of GLFM to HTML2993 for 08_04_44__gitlab_internal_extension_markdown__migrated_golden_master_examples__ordered_task_list__0012994 verifies conversion of GLFM to HTML2995 for 08_04_45__gitlab_internal_extension_markdown__migrated_golden_master_examples__ordered_task_list_with_order__0012996 verifies conversion of GLFM to HTML2997 for 08_04_46__gitlab_internal_extension_markdown__migrated_golden_master_examples__reference_for_project_wiki__0012998 verifies conversion of GLFM to HTML2999 for 08_04_47__gitlab_internal_extension_markdown__migrated_golden_master_examples__strike__0013000 verifies conversion of GLFM to HTML3001 for 08_04_48__gitlab_internal_extension_markdown__migrated_golden_master_examples__table__0013002 verifies conversion of GLFM to HTML3003 for 08_04_49__gitlab_internal_extension_markdown__migrated_golden_master_examples__table_of_contents__0013004 verifies conversion of GLFM to HTML3005 for 08_04_50__gitlab_internal_extension_markdown__migrated_golden_master_examples__task_list__0013006 verifies conversion of GLFM to HTML3007 for 08_04_51__gitlab_internal_extension_markdown__migrated_golden_master_examples__video__0013008 verifies conversion of GLFM to HTML3009 for 08_04_52__gitlab_internal_extension_markdown__migrated_golden_master_examples__word_break__0013010 verifies conversion of GLFM to HTML3011 for 08_05_00__gitlab_internal_extension_markdown__image_attributes__0013012 verifies conversion of GLFM to HTML3013 for 08_05_00__gitlab_internal_extension_markdown__image_attributes__0023014 verifies conversion of GLFM to HTML3015 for 08_05_00__gitlab_internal_extension_markdown__image_attributes__0033016 verifies conversion of GLFM to HTML3017 for 08_05_00__gitlab_internal_extension_markdown__image_attributes__0043018 verifies conversion of GLFM to HTML3019 for 08_05_00__gitlab_internal_extension_markdown__image_attributes__0053020 verifies conversion of GLFM to HTML3021 for 08_06_00__gitlab_internal_extension_markdown__footnotes__0013022 verifies conversion of GLFM to HTML3023Git LFS API and storage3024 with projects3025 behaves like LFS http requests3026 when LFS is disabled globally3027 download request3028 behaves like LFS http 501 response3029 behaves like LFS http expected response code and message3030 is expected to eq "Git LFS is not enabled on this GitLab server, contact your admin."3031 upload request3032 behaves like LFS http 501 response3033 behaves like LFS http expected response code and message3034 is expected to eq "Git LFS is not enabled on this GitLab server, contact your admin."3035 unauthenticated3036 download request3037 behaves like LFS http 401 response3038 behaves like LFS http expected response code and message3039 is expected to match "text/plain"3040 upload request3041 behaves like LFS http 401 response3042 behaves like LFS http expected response code and message3043 is expected to match "text/plain"3044 without access3045 download request3046 behaves like LFS http 404 response3047 behaves like LFS http expected response code and message3048 is expected to match "application/vnd.git-lfs+json"3049 upload request3050 behaves like LFS http 404 response3051 behaves like LFS http expected response code and message3052 is expected to match "application/vnd.git-lfs+json"3053 with guest access3054 download request3055 behaves like LFS http 404 response3056 behaves like LFS http expected response code and message3057 is expected to match "application/vnd.git-lfs+json"3058 upload request3059 behaves like LFS http 404 response3060 behaves like LFS http expected response code and message3061 is expected to match "application/vnd.git-lfs+json"3062 with download permission3063 download request3064 behaves like LFS http 200 blob response3065 behaves like LFS http expected response code and message3066 is expected to match "application/octet-stream"3067 when container does not exist3068 behaves like LFS http 404 response3069 behaves like LFS http expected response code and message3070 is expected to match "application/vnd.git-lfs+json"3071 upload request3072 behaves like LFS http 403 response3073 behaves like LFS http expected response code and message3074 is expected to eq "Access forbidden. Check your access level."3075 with upload permission3076 upload request3077 behaves like LFS http 200 response3078 behaves like LFS http expected response code and message3079 is expected to match "application/vnd.git-lfs+json"3080 deprecated API3081 when fetching LFS object using deprecated API3082 behaves like deprecated request3083 behaves like LFS http expected response code and message3084 is expected to eq "Server supports batch API only, please update your Git LFS client to version 1.0.1 and up."3085 when handling LFS request using deprecated API3086 behaves like deprecated request3087 behaves like LFS http expected response code and message3088 is expected to eq "Server supports batch API only, please update your Git LFS client to version 1.0.1 and up."3089 project specific LFS settings3090 LFS disabled in project3091 when uploading3092 behaves like LFS http 404 response3093 behaves like LFS http expected response code and message3094 is expected to match "application/vnd.git-lfs+json"3095 when downloading3096 behaves like LFS http 404 response3097 behaves like LFS http expected response code and message3098 is expected to match "application/vnd.git-lfs+json"3099 LFS enabled in project3100 when uploading3101 behaves like LFS http 200 response3102 behaves like LFS http expected response code and message3103 is expected to match "application/vnd.git-lfs+json"3104 when downloading3105 behaves like LFS http 200 blob response3106 behaves like LFS http expected response code and message3107 is expected to match "application/octet-stream"3108 when fetching LFS object3109 when LFS uses object storage3110 when proxy download is enabled3111 responds with the workhorse send-url3112 when proxy download is disabled3113 responds with redirect3114 responds with the file location3115 when deploy key is authorized3116 behaves like LFS http 200 blob response3117 behaves like LFS http expected response code and message3118 is expected to match "application/octet-stream"3119 when using a user key (LFSToken)3120 when user allowed3121 behaves like LFS http 200 blob response3122 behaves like LFS http expected response code and message3123 is expected to match "application/octet-stream"3124 when user password is expired3125 behaves like LFS http 401 response3126 behaves like LFS http expected response code and message3127 is expected to match "text/plain"3128 when user is blocked3129 behaves like LFS http 401 response3130 behaves like LFS http expected response code and message3131 is expected to match "text/plain"3132 when user not allowed3133 behaves like LFS http 404 response3134 behaves like LFS http expected response code and message3135 is expected to match "application/vnd.git-lfs+json"3136 when build is authorized as3137 administrator3138 behaves like can download LFS only from own projects3139 for owned project3140 behaves like LFS http 200 blob response3141 behaves like LFS http expected response code and message3142 is expected to match "application/octet-stream"3143 for member of project3144 behaves like LFS http 200 blob response3145 behaves like LFS http expected response code and message3146 is expected to match "application/octet-stream"3147 for other project3148 rejects downloading code3149 regular user3150 behaves like can download LFS only from own projects3151 for owned project3152 behaves like LFS http 200 blob response3153 behaves like LFS http expected response code and message3154 is expected to match "application/octet-stream"3155 for member of project3156 behaves like LFS http 200 blob response3157 behaves like LFS http expected response code and message3158 is expected to match "application/octet-stream"3159 for other project3160 rejects downloading code3161 does not have user3162 behaves like can download LFS only from own projects3163 for owned project3164 behaves like LFS http 200 blob response3165 behaves like LFS http expected response code and message3166 is expected to match "application/octet-stream"3167 for member of project3168 behaves like LFS http 200 blob response3169 behaves like LFS http expected response code and message3170 is expected to match "application/octet-stream"3171 for other project3172 rejects downloading code3173 when handling LFS batch request3174 download3175 when user is authenticated3176 behaves like an authorized request3177 when downloading an LFS object that is assigned to our project3178 with href to download3179 behaves like LFS http 200 response3180 behaves like LFS http expected response code and message3181 is expected to match "application/vnd.git-lfs+json"3182 behaves like process authorization header3183 when the authorization comes from a user3184 returns a new valid LFS token authorization3185 returns a valid token3186 generates only one new token per each request3187 when downloading an LFS object that is assigned to other project3188 with an 404 for specific object3189 behaves like LFS http 200 response3190 behaves like LFS http expected response code and message3191 is expected to match "application/vnd.git-lfs+json"3192 when downloading a LFS object that does not exist3193 with an 404 for specific object3194 behaves like LFS http 200 response3195 behaves like LFS http expected response code and message3196 is expected to match "application/vnd.git-lfs+json"3197 when downloading one existing and one missing LFS object3198 responds with download hypermedia link for the existing object3199 behaves like LFS http 200 response3200 behaves like LFS http expected response code and message3201 is expected to match "application/vnd.git-lfs+json"3202 behaves like process authorization header3203 when the authorization comes from a user3204 returns a new valid LFS token authorization3205 returns a valid token3206 generates only one new token per each request3207 when downloading two existing LFS objects3208 responds with the download hypermedia link for each object3209 behaves like process authorization header3210 when the authorization comes from a user3211 returns a new valid LFS token authorization3212 returns a valid token3213 generates only one new token per each request3214 when downloading an LFS object that is stored on object storage3215 when lfs.object_store.proxy_download=true3216 does return proxied address URL3217 behaves like LFS http 200 response3218 behaves like LFS http expected response code and message3219 is expected to match "application/vnd.git-lfs+json"3220 when "lfs.object_store.proxy_download" is "false"3221 does return direct object storage URL3222 behaves like LFS http 200 response3223 behaves like LFS http expected response code and message3224 is expected to match "application/vnd.git-lfs+json"3225 when feature flag "lfs_batch_direct_downloads" is "false"3226 does return proxied address URL3227 behaves like LFS http 200 response3228 behaves like LFS http expected response code and message3229 is expected to match "application/vnd.git-lfs+json"3230 when sending objects=[]3231 behaves like LFS http expected response code and message3232 is expected to eq "Not found."3233 when user is not a member of the project3234 behaves like LFS http 404 response3235 behaves like LFS http expected response code and message3236 is expected to match "application/vnd.git-lfs+json"3237 when user does not have download access3238 behaves like LFS http 404 response3239 behaves like LFS http expected response code and message3240 is expected to match "application/vnd.git-lfs+json"3241 when user password is expired3242 behaves like LFS http 401 response3243 behaves like LFS http expected response code and message3244 is expected to match "text/plain"3245 when user is blocked3246 behaves like LFS http 401 response3247 behaves like LFS http expected response code and message3248 is expected to match "text/plain"3249 when using Deploy Tokens3250 when Deploy Token is not valid3251 behaves like LFS http 401 response3252 behaves like LFS http expected response code and message3253 is expected to match "text/plain"3254 when Deploy Token is not related to the project3255 behaves like LFS http 401 response3256 behaves like LFS http expected response code and message3257 is expected to match "text/plain"3258 when deploy token is from an unrelated group to the project3259 behaves like LFS http 401 response3260 behaves like LFS http expected response code and message3261 is expected to match "text/plain"3262 when deploy token is from a parent group of the project and valid3263 behaves like an authorized request3264 when downloading an LFS object that is assigned to our project3265 with href to download3266 behaves like LFS http 200 response3267 behaves like LFS http expected response code and message3268 is expected to match "application/vnd.git-lfs+json"3269 behaves like process authorization header3270 when the authorization comes from a token3271 returns the same authorization header3272 when downloading an LFS object that is assigned to other project3273 with an 404 for specific object3274 behaves like LFS http 200 response3275 behaves like LFS http expected response code and message3276 is expected to match "application/vnd.git-lfs+json"3277 when downloading a LFS object that does not exist3278 with an 404 for specific object3279 behaves like LFS http 200 response3280 behaves like LFS http expected response code and message3281 is expected to match "application/vnd.git-lfs+json"3282 when downloading one existing and one missing LFS object3283 responds with download hypermedia link for the existing object3284 behaves like LFS http 200 response3285 behaves like LFS http expected response code and message3286 is expected to match "application/vnd.git-lfs+json"3287 behaves like process authorization header3288 when the authorization comes from a token3289 returns the same authorization header3290 when downloading two existing LFS objects3291 responds with the download hypermedia link for each object3292 behaves like process authorization header3293 when the authorization comes from a token3294 returns the same authorization header3295 when downloading an LFS object that is stored on object storage3296 when lfs.object_store.proxy_download=true3297 does return proxied address URL3298 behaves like LFS http 200 response3299 behaves like LFS http expected response code and message3300 is expected to match "application/vnd.git-lfs+json"3301 when "lfs.object_store.proxy_download" is "false"3302 does return direct object storage URL3303 behaves like LFS http 200 response3304 behaves like LFS http expected response code and message3305 is expected to match "application/vnd.git-lfs+json"3306 when feature flag "lfs_batch_direct_downloads" is "false"3307 does return proxied address URL3308 behaves like LFS http 200 response3309 behaves like LFS http expected response code and message3310 is expected to match "application/vnd.git-lfs+json"3311 when sending objects=[]3312 behaves like LFS http expected response code and message3313 is expected to eq "Not found."3314 when Deploy Token is valid3315 behaves like an authorized request3316 when downloading an LFS object that is assigned to our project3317 with href to download3318 behaves like LFS http 200 response3319 behaves like LFS http expected response code and message3320 is expected to match "application/vnd.git-lfs+json"3321 behaves like process authorization header3322 when the authorization comes from a token3323 returns the same authorization header3324 when downloading an LFS object that is assigned to other project3325 with an 404 for specific object3326 behaves like LFS http 200 response3327 behaves like LFS http expected response code and message3328 is expected to match "application/vnd.git-lfs+json"3329 when downloading a LFS object that does not exist3330 with an 404 for specific object3331 behaves like LFS http 200 response3332 behaves like LFS http expected response code and message3333 is expected to match "application/vnd.git-lfs+json"3334 when downloading one existing and one missing LFS object3335 responds with download hypermedia link for the existing object3336 behaves like LFS http 200 response3337 behaves like LFS http expected response code and message3338 is expected to match "application/vnd.git-lfs+json"3339 behaves like process authorization header3340 when the authorization comes from a token3341 returns the same authorization header3342 when downloading two existing LFS objects3343 responds with the download hypermedia link for each object3344 behaves like process authorization header3345 when the authorization comes from a token3346 returns the same authorization header3347 when downloading an LFS object that is stored on object storage3348 when lfs.object_store.proxy_download=true3349 does return proxied address URL3350 behaves like LFS http 200 response3351 behaves like LFS http expected response code and message3352 is expected to match "application/vnd.git-lfs+json"3353 when "lfs.object_store.proxy_download" is "false"3354 does return direct object storage URL3355 behaves like LFS http 200 response3356 behaves like LFS http expected response code and message3357 is expected to match "application/vnd.git-lfs+json"3358 when feature flag "lfs_batch_direct_downloads" is "false"3359 does return proxied address URL3360 behaves like LFS http 200 response3361 behaves like LFS http expected response code and message3362 is expected to match "application/vnd.git-lfs+json"3363 when sending objects=[]3364 behaves like LFS http expected response code and message3365 is expected to eq "Not found."3366 when build is authorized as3367 administrator3368 behaves like can download LFS only from own projects3369 for own project3370 behaves like an authorized request3371 when downloading an LFS object that is assigned to our project3372 with href to download3373 behaves like LFS http 200 response3374 behaves like LFS http expected response code and message3375 is expected to match "application/vnd.git-lfs+json"3376 behaves like process authorization header3377 when the authorization comes from a user3378 returns a new valid LFS token authorization3379 returns a valid token3380 generates only one new token per each request3381 when downloading an LFS object that is assigned to other project3382 with an 404 for specific object3383 behaves like LFS http 200 response3384 behaves like LFS http expected response code and message3385 is expected to match "application/vnd.git-lfs+json"3386 when downloading a LFS object that does not exist3387 with an 404 for specific object3388 behaves like LFS http 200 response3389 behaves like LFS http expected response code and message3390 is expected to match "application/vnd.git-lfs+json"3391 when downloading one existing and one missing LFS object3392 responds with download hypermedia link for the existing object3393 behaves like LFS http 200 response3394 behaves like LFS http expected response code and message3395 is expected to match "application/vnd.git-lfs+json"3396 behaves like process authorization header3397 when the authorization comes from a user3398 returns a new valid LFS token authorization3399 returns a valid token3400 generates only one new token per each request3401 when downloading two existing LFS objects3402 responds with the download hypermedia link for each object3403 behaves like process authorization header3404 when the authorization comes from a user3405 returns a new valid LFS token authorization3406 returns a valid token3407 generates only one new token per each request3408 when downloading an LFS object that is stored on object storage3409 when lfs.object_store.proxy_download=true3410 does return proxied address URL3411 behaves like LFS http 200 response3412 behaves like LFS http expected response code and message3413 is expected to match "application/vnd.git-lfs+json"3414 when "lfs.object_store.proxy_download" is "false"3415 does return direct object storage URL3416 behaves like LFS http 200 response3417 behaves like LFS http expected response code and message3418 is expected to match "application/vnd.git-lfs+json"3419 when feature flag "lfs_batch_direct_downloads" is "false"3420 does return proxied address URL3421 behaves like LFS http 200 response3422 behaves like LFS http expected response code and message3423 is expected to match "application/vnd.git-lfs+json"3424 when sending objects=[]3425 behaves like LFS http expected response code and message3426 is expected to eq "Not found."3427 for other project3428 rejects downloading code3429 regular user3430 behaves like can download LFS only from own projects3431 for own project3432 behaves like an authorized request3433 when downloading an LFS object that is assigned to our project3434 with href to download3435 behaves like LFS http 200 response3436 behaves like LFS http expected response code and message3437 is expected to match "application/vnd.git-lfs+json"3438 behaves like process authorization header3439 when the authorization comes from a user3440 returns a new valid LFS token authorization3441 returns a valid token3442 generates only one new token per each request3443 when downloading an LFS object that is assigned to other project3444 with an 404 for specific object3445 behaves like LFS http 200 response3446 behaves like LFS http expected response code and message3447 is expected to match "application/vnd.git-lfs+json"3448 when downloading a LFS object that does not exist3449 with an 404 for specific object3450 behaves like LFS http 200 response3451 behaves like LFS http expected response code and message3452 is expected to match "application/vnd.git-lfs+json"3453 when downloading one existing and one missing LFS object3454 responds with download hypermedia link for the existing object3455 behaves like LFS http 200 response3456 behaves like LFS http expected response code and message3457 is expected to match "application/vnd.git-lfs+json"3458 behaves like process authorization header3459 when the authorization comes from a user3460 returns a new valid LFS token authorization3461 returns a valid token3462 generates only one new token per each request3463 when downloading two existing LFS objects3464 responds with the download hypermedia link for each object3465 behaves like process authorization header3466 when the authorization comes from a user3467 returns a new valid LFS token authorization3468 returns a valid token3469 generates only one new token per each request3470 when downloading an LFS object that is stored on object storage3471 when lfs.object_store.proxy_download=true3472 does return proxied address URL3473 behaves like LFS http 200 response3474 behaves like LFS http expected response code and message3475 is expected to match "application/vnd.git-lfs+json"3476 when "lfs.object_store.proxy_download" is "false"3477 does return direct object storage URL3478 behaves like LFS http 200 response3479 behaves like LFS http expected response code and message3480 is expected to match "application/vnd.git-lfs+json"3481 when feature flag "lfs_batch_direct_downloads" is "false"3482 does return proxied address URL3483 behaves like LFS http 200 response3484 behaves like LFS http expected response code and message3485 is expected to match "application/vnd.git-lfs+json"3486 when sending objects=[]3487 behaves like LFS http expected response code and message3488 is expected to eq "Not found."3489 for other project3490 rejects downloading code3491 does not have user3492 behaves like can download LFS only from own projects3493 for own project3494 behaves like an authorized request3495 when downloading an LFS object that is assigned to our project3496 with href to download3497 behaves like LFS http 200 response3498 behaves like LFS http expected response code and message3499 is expected to match "application/vnd.git-lfs+json"3500 behaves like process authorization header3501 when the authorization comes from a token3502 returns the same authorization header3503 when downloading an LFS object that is assigned to other project3504 with an 404 for specific object3505 behaves like LFS http 200 response3506 behaves like LFS http expected response code and message3507 is expected to match "application/vnd.git-lfs+json"3508 when downloading a LFS object that does not exist3509 with an 404 for specific object3510 behaves like LFS http 200 response3511 behaves like LFS http expected response code and message3512 is expected to match "application/vnd.git-lfs+json"3513 when downloading one existing and one missing LFS object3514 responds with download hypermedia link for the existing object3515 behaves like LFS http 200 response3516 behaves like LFS http expected response code and message3517 is expected to match "application/vnd.git-lfs+json"3518 behaves like process authorization header3519 when the authorization comes from a token3520 returns the same authorization header3521 when downloading two existing LFS objects3522 responds with the download hypermedia link for each object3523 behaves like process authorization header3524 when the authorization comes from a token3525 returns the same authorization header3526 when downloading an LFS object that is stored on object storage3527 when lfs.object_store.proxy_download=true3528 does return proxied address URL3529 behaves like LFS http 200 response3530 behaves like LFS http expected response code and message3531 is expected to match "application/vnd.git-lfs+json"3532 when "lfs.object_store.proxy_download" is "false"3533 does return direct object storage URL3534 behaves like LFS http 200 response3535 behaves like LFS http expected response code and message3536 is expected to match "application/vnd.git-lfs+json"3537 when feature flag "lfs_batch_direct_downloads" is "false"3538 does return proxied address URL3539 behaves like LFS http 200 response3540 behaves like LFS http expected response code and message3541 is expected to match "application/vnd.git-lfs+json"3542 when sending objects=[]3543 behaves like LFS http expected response code and message3544 is expected to eq "Not found."3545 for other project3546 rejects downloading code3547 when user is not authenticated3548 is accessing public project3549 returns href to download3550 behaves like LFS http 200 response3551 behaves like LFS http expected response code and message3552 is expected to match "application/vnd.git-lfs+json"3553 is accessing non-public project3554 behaves like LFS http 401 response3555 behaves like LFS http expected response code and message3556 is expected to match "text/plain"3557 upload3558 when request is authenticated3559 when user has project push access3560 when pushing an LFS object that already exists3561 in another project3562 behaves like batch upload with existing LFS object3563 responds with links to the object in the project3564 behaves like LFS http 200 response3565 behaves like LFS http expected response code and message3566 is expected to match "application/vnd.git-lfs+json"3567 behaves like process authorization header3568 when the authorization comes from a user3569 returns a new valid LFS token authorization3570 returns a valid token3571 generates only one new token per each request3572 in source of fork project3573 when user has access to both the parent and fork3574 links existing LFS objects to other project3575 when user does not have access to parent3576 behaves like batch upload with existing LFS object3577 responds with links to the object in the project3578 behaves like LFS http 200 response3579 behaves like LFS http expected response code and message3580 is expected to match "application/vnd.git-lfs+json"3581 behaves like process authorization header3582 when the authorization comes from a user3583 returns a new valid LFS token authorization3584 returns a valid token3585 generates only one new token per each request3586 when pushing a LFS object that does not exist3587 behaves like pushes new LFS objects3588 responds with upload hypermedia link3589 behaves like LFS http 200 response3590 behaves like LFS http expected response code and message3591 is expected to match "application/vnd.git-lfs+json"3592 behaves like process authorization header3593 when the authorization comes from a user3594 returns a new valid LFS token authorization3595 returns a valid token3596 generates only one new token per each request3597 when pushing one new and one existing LFS object3598 responds with upload hypermedia link for the new object3599 behaves like LFS http 200 response3600 behaves like LFS http expected response code and message3601 is expected to match "application/vnd.git-lfs+json"3602 behaves like process authorization header3603 when the authorization comes from a user3604 returns a new valid LFS token authorization3605 returns a valid token3606 generates only one new token per each request3607 when user does not have push access3608 behaves like LFS http 403 response3609 behaves like LFS http expected response code and message3610 is expected to eq "Access forbidden. Check your access level."3611 when build is authorized3612 build has an user3613 tries to push to own project3614 behaves like LFS http 403 response3615 behaves like LFS http expected response code and message3616 is expected to eq "Access forbidden. Check your access level."3617 tries to push to other project3618 behaves like LFS http 403 response3619 behaves like LFS http expected response code and message3620 is expected to eq "Access forbidden. Check your access level."3621 does not have user3622 behaves like LFS http 403 response3623 behaves like LFS http expected response code and message3624 is expected to eq "Access forbidden. Check your access level."3625 when deploy key has project push access3626 behaves like pushes new LFS objects3627 responds with upload hypermedia link3628 behaves like LFS http 200 response3629 behaves like LFS http expected response code and message3630 is expected to match "application/vnd.git-lfs+json"3631 behaves like process authorization header3632 when the authorization comes from a token3633 returns the same authorization header3634 when user is not authenticated3635 when user has push access3636 behaves like LFS http 401 response3637 behaves like LFS http expected response code and message3638 is expected to match "text/plain"3639 when user does not have push access3640 behaves like LFS http 401 response3641 behaves like LFS http expected response code and message3642 is expected to match "text/plain"3643 unsupported3644 behaves like LFS http 404 response3645 behaves like LFS http expected response code and message3646 is expected to match "application/vnd.git-lfs+json"3647 when handling LFS batch request on a read-only GitLab instance3648 when downloading3649 behaves like LFS http 200 response3650 behaves like LFS http expected response code and message3651 is expected to match "application/vnd.git-lfs+json"3652 when uploading3653 behaves like LFS http expected response code and message3654 is expected to eq "You cannot write to this read-only GitLab instance."3655 when pushing a LFS object3656 to one project3657 when user is authenticated3658 when user has push access to the project3659 and the request bypassed workhorse3660 raises an exception3661 and request is sent by gitlab-workhorse to authorize the request3662 when using local storage3663 behaves like a local file3664 behaves like a valid response3665 responds with status 200, location of LFS store and object details3666 behaves like LFS http 200 workhorse response3667 behaves like LFS http expected response code and message3668 is expected to match "application/vnd.gitlab-workhorse+json"3669 when using remote storage3670 when direct upload is enabled3671 behaves like a valid response3672 responds with status 200, location of LFS remote store and object details3673 behaves like LFS http 200 workhorse response3674 behaves like LFS http expected response code and message3675 is expected to match "application/vnd.gitlab-workhorse+json"3676 when direct upload is disabled3677 behaves like a local file3678 behaves like a valid response3679 responds with status 200, location of LFS store and object details3680 behaves like LFS http 200 workhorse response3681 behaves like LFS http expected response code and message3682 is expected to match "application/vnd.gitlab-workhorse+json"3683 and request is sent by gitlab-workhorse to finalize the upload3684 LFS object is linked to the project3685 behaves like LFS http 200 response3686 behaves like LFS http expected response code and message3687 is expected to match "application/vnd.git-lfs+json"3688 and request to finalize the upload is not sent by gitlab-workhorse3689 fails with a JWT decode error3690 and the uploaded file is invalid3691 size: nil, sha256: nil, status: :ok3692 validates the upload size and SHA2563693 size: 0, sha256: nil, status: :bad_request3694 validates the upload size and SHA2563695 size: nil, sha256: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", status: :bad_request3696 validates the upload size and SHA2563697 and workhorse requests upload finalize for a new LFS object3698 with object storage enabled3699 and direct upload enabled3700 with invalid remote_id: 1231233701 responds with status 4033702 with invalid remote_id: ../../1231233703 responds with status 4033704 with valid remote_id3705 responds with status 2003706 schedules migration of file to object storage3707 have valid file3708 without the lfs object3709 rejects slashes in the tempfile name (path traversal)3710 not sending the workhorse jwt header3711 rejects the request3712 and user does not have push access3713 behaves like forbidden3714 and request is sent by gitlab-workhorse to authorize the request3715 behaves like LFS http 403 response3716 behaves like LFS http expected response code and message3717 is expected to eq "Access forbidden. Check your access level."3718 and request is sent by gitlab-workhorse to finalize the upload3719 behaves like LFS http 403 response3720 behaves like LFS http expected response code and message3721 is expected to eq "Access forbidden. Check your access level."3722 and request is sent with a malformed headers3723 behaves like LFS http 403 response3724 behaves like LFS http expected response code and message3725 is expected to eq "Access forbidden. Check your access level."3726 when build is authorized3727 build has an user3728 tries to push to own project3729 behaves like LFS http 403 response3730 behaves like LFS http expected response code and message3731 is expected to eq "Access forbidden. Check your access level."3732 tries to push to other project3733 behaves like LFS http 404 response3734 behaves like LFS http expected response code and message3735 is expected to match "application/vnd.git-lfs+json"3736 does not have user3737 behaves like LFS http 403 response3738 behaves like LFS http expected response code and message3739 is expected to eq "Access forbidden. Check your access level."3740 when using a user key (LFSToken)3741 when user allowed3742 behaves like LFS http 200 workhorse response3743 behaves like LFS http expected response code and message3744 is expected to match "application/vnd.gitlab-workhorse+json"3745 when user password is expired3746 behaves like LFS http 401 response3747 behaves like LFS http expected response code and message3748 is expected to match "text/plain"3749 when user is blocked3750 behaves like LFS http 401 response3751 behaves like LFS http expected response code and message3752 is expected to match "text/plain"3753 when user not allowed3754 behaves like LFS http 404 response3755 behaves like LFS http expected response code and message3756 is expected to match "application/vnd.git-lfs+json"3757 for unauthenticated3758 behaves like unauthorized3759 and request is sent by gitlab-workhorse to authorize the request3760 behaves like LFS http 401 response3761 behaves like LFS http expected response code and message3762 is expected to match "text/plain"3763 and request is sent by gitlab-workhorse to finalize the upload3764 behaves like LFS http 401 response3765 behaves like LFS http expected response code and message3766 is expected to match "text/plain"3767 and request is sent with a malformed headers3768 behaves like LFS http 401 response3769 behaves like LFS http expected response code and message3770 is expected to match "text/plain"3771 to a forked project3772 when user is authenticated3773 when user has push access to the project3774 and request is sent by gitlab-workhorse to authorize the request3775 with location of LFS store and object details3776 behaves like LFS http 200 workhorse response3777 behaves like LFS http expected response code and message3778 is expected to match "application/vnd.gitlab-workhorse+json"3779 and request is sent by gitlab-workhorse to finalize the upload3780 LFS object is linked to the forked project3781 behaves like LFS http 200 response3782 behaves like LFS http expected response code and message3783 is expected to match "application/vnd.git-lfs+json"3784 when user has push access to upstream project3785 an MR exists on target forked project3786 with allow_collaboration option set to true3787 and request is sent by gitlab-workhorse to authorize the request3788 behaves like LFS http 200 workhorse response3789 behaves like LFS http expected response code and message3790 is expected to match "application/vnd.gitlab-workhorse+json"3791 and request is sent by gitlab-workhorse to finalize the upload3792 behaves like LFS http 200 response3793 behaves like LFS http expected response code and message3794 is expected to match "application/vnd.git-lfs+json"3795 with allow_collaboration option set to false3796 request is sent by gitlab-workhorse to authorize the request3797 behaves like forbidden3798 and request is sent by gitlab-workhorse to authorize the request3799 behaves like LFS http 403 response3800 behaves like LFS http expected response code and message3801 is expected to eq "Access forbidden. Check your access level."3802 and request is sent by gitlab-workhorse to finalize the upload3803 behaves like LFS http 403 response3804 behaves like LFS http expected response code and message3805 is expected to eq "Access forbidden. Check your access level."3806 and request is sent with a malformed headers3807 behaves like LFS http 403 response3808 behaves like LFS http expected response code and message3809 is expected to eq "Access forbidden. Check your access level."3810 and user does not have push access3811 behaves like forbidden3812 and request is sent by gitlab-workhorse to authorize the request3813 behaves like LFS http 403 response3814 behaves like LFS http expected response code and message3815 is expected to eq "Access forbidden. Check your access level."3816 and request is sent by gitlab-workhorse to finalize the upload3817 behaves like LFS http 403 response3818 behaves like LFS http expected response code and message3819 is expected to eq "Access forbidden. Check your access level."3820 and request is sent with a malformed headers3821 behaves like LFS http 403 response3822 behaves like LFS http expected response code and message3823 is expected to eq "Access forbidden. Check your access level."3824 when build is authorized3825 build has an user3826 tries to push to own project3827 behaves like LFS http 403 response3828 behaves like LFS http expected response code and message3829 is expected to eq "Access forbidden. Check your access level."3830 tries to push to other project3831 behaves like LFS http 403 response3832 behaves like LFS http expected response code and message3833 is expected to eq "Access forbidden. Check your access level."3834 does not have user3835 behaves like LFS http 403 response3836 behaves like LFS http expected response code and message3837 is expected to eq "Access forbidden. Check your access level."3838 for unauthenticated3839 behaves like unauthorized3840 and request is sent by gitlab-workhorse to authorize the request3841 behaves like LFS http 401 response3842 behaves like LFS http expected response code and message3843 is expected to match "text/plain"3844 and request is sent by gitlab-workhorse to finalize the upload3845 behaves like LFS http 401 response3846 behaves like LFS http expected response code and message3847 is expected to match "text/plain"3848 and request is sent with a malformed headers3849 behaves like LFS http 401 response3850 behaves like LFS http expected response code and message3851 is expected to match "text/plain"3852 and second project not related to fork or a source project3853 when pushing the same LFS object to the second project3854 links the LFS object to the project3855 behaves like LFS http 200 response3856 behaves like LFS http expected response code and message3857 is expected to match "application/vnd.git-lfs+json"3858 with project wikis3859 behaves like LFS http requests3860 when LFS is disabled globally3861 download request3862 behaves like LFS http 501 response3863 behaves like LFS http expected response code and message3864 is expected to eq "Git LFS is not enabled on this GitLab server, contact your admin."3865 upload request3866 behaves like LFS http 501 response3867 behaves like LFS http expected response code and message3868 is expected to eq "Git LFS is not enabled on this GitLab server, contact your admin."3869 unauthenticated3870 download request3871 behaves like LFS http 401 response3872 behaves like LFS http expected response code and message3873 is expected to match "text/plain"3874 upload request3875 behaves like LFS http 401 response3876 behaves like LFS http expected response code and message3877 is expected to match "text/plain"3878 without access3879 download request3880 behaves like LFS http 404 response3881 behaves like LFS http expected response code and message3882 is expected to match "application/vnd.git-lfs+json"3883 upload request3884 behaves like LFS http 404 response3885 behaves like LFS http expected response code and message3886 is expected to match "application/vnd.git-lfs+json"3887 with guest access3888 download request3889 behaves like LFS http 404 response3890 behaves like LFS http expected response code and message3891 is expected to match "application/vnd.git-lfs+json"3892 upload request3893 behaves like LFS http 404 response3894 behaves like LFS http expected response code and message3895 is expected to match "application/vnd.git-lfs+json"3896 with download permission3897 download request3898 behaves like LFS http 200 blob response3899 behaves like LFS http expected response code and message3900 is expected to match "application/octet-stream"3901 when container does not exist3902 behaves like LFS http 404 response3903 behaves like LFS http expected response code and message3904 is expected to match "application/vnd.git-lfs+json"3905 upload request3906 behaves like LFS http 403 response3907 behaves like LFS http expected response code and message3908 is expected to eq "Access forbidden. Check your access level."3909 with upload permission3910 upload request3911 behaves like LFS http 200 response3912 behaves like LFS http expected response code and message3913 is expected to match "application/vnd.git-lfs+json"3914 deprecated API3915 when fetching LFS object using deprecated API3916 behaves like deprecated request3917 behaves like LFS http expected response code and message3918 is expected to eq "Server supports batch API only, please update your Git LFS client to version 1.0.1 and up."3919 when handling LFS request using deprecated API3920 behaves like deprecated request3921 behaves like LFS http expected response code and message3922 is expected to eq "Server supports batch API only, please update your Git LFS client to version 1.0.1 and up."3923 with snippets3924 with project snippets3925 behaves like LFS http requests3926 when LFS is disabled globally3927 download request3928 behaves like LFS http 501 response3929 behaves like LFS http expected response code and message3930 is expected to eq "Git LFS is not enabled on this GitLab server, contact your admin."3931 upload request3932 behaves like LFS http 501 response3933 behaves like LFS http expected response code and message3934 is expected to eq "Git LFS is not enabled on this GitLab server, contact your admin."3935 unauthenticated3936 download request3937 behaves like LFS http 401 response3938 behaves like LFS http expected response code and message3939 is expected to match "text/plain"3940 upload request3941 behaves like LFS http 401 response3942 behaves like LFS http expected response code and message3943 is expected to match "text/plain"3944 without access3945 download request3946 behaves like LFS http 404 response3947 behaves like LFS http expected response code and message3948 is expected to match "application/vnd.git-lfs+json"3949 upload request3950 behaves like LFS http 404 response3951 behaves like LFS http expected response code and message3952 is expected to match "application/vnd.git-lfs+json"3953 with guest access3954 download request3955 behaves like LFS http 404 response3956 behaves like LFS http expected response code and message3957 is expected to match "application/vnd.git-lfs+json"3958 upload request3959 behaves like LFS http 404 response3960 behaves like LFS http expected response code and message3961 is expected to match "application/vnd.git-lfs+json"3962 with download permission3963 download request3964 behaves like LFS http 200 blob response3965 behaves like LFS http 404 response3966 behaves like LFS http expected response code and message3967 is expected to match "application/vnd.git-lfs+json"3968 when container does not exist3969 behaves like LFS http 404 response3970 behaves like LFS http expected response code and message3971 is expected to match "application/vnd.git-lfs+json"3972 upload request3973 behaves like LFS http 403 response3974 behaves like LFS http 404 response3975 behaves like LFS http expected response code and message3976 is expected to match "application/vnd.git-lfs+json"3977 with upload permission3978 upload request3979 behaves like LFS http 200 response3980 behaves like LFS http 404 response3981 behaves like LFS http expected response code and message3982 is expected to match "application/vnd.git-lfs+json"3983 deprecated API3984 when fetching LFS object using deprecated API3985 behaves like deprecated request3986 behaves like LFS http expected response code and message3987 is expected to eq "Server supports batch API only, please update your Git LFS client to version 1.0.1 and up."3988 when handling LFS request using deprecated API3989 behaves like deprecated request3990 behaves like LFS http expected response code and message3991 is expected to eq "Server supports batch API only, please update your Git LFS client to version 1.0.1 and up."3992 with personal snippets3993 behaves like LFS http requests3994 when LFS is disabled globally3995 download request3996 behaves like LFS http 501 response3997 behaves like LFS http expected response code and message3998 is expected to eq "Git LFS is not enabled on this GitLab server, contact your admin."3999 upload request4000 behaves like LFS http 501 response4001 behaves like LFS http expected response code and message4002 is expected to eq "Git LFS is not enabled on this GitLab server, contact your admin."4003 unauthenticated4004 download request4005 behaves like LFS http 401 response4006 behaves like LFS http expected response code and message4007 is expected to match "text/plain"4008 upload request4009 behaves like LFS http 401 response4010 behaves like LFS http expected response code and message4011 is expected to match "text/plain"4012 without access4013 download request4014 behaves like LFS http 404 response4015 behaves like LFS http expected response code and message4016 is expected to match "application/vnd.git-lfs+json"4017 upload request4018 behaves like LFS http 404 response4019 behaves like LFS http expected response code and message4020 is expected to match "application/vnd.git-lfs+json"4021 with guest access4022 download request4023 behaves like LFS http 404 response4024 behaves like LFS http expected response code and message4025 is expected to match "application/vnd.git-lfs+json"4026 upload request4027 behaves like LFS http 404 response4028 behaves like LFS http expected response code and message4029 is expected to match "application/vnd.git-lfs+json"4030 with download permission4031 download request4032 behaves like LFS http 200 blob response4033 behaves like LFS http 404 response4034 behaves like LFS http expected response code and message4035 is expected to match "application/vnd.git-lfs+json"4036 when container does not exist4037 behaves like LFS http 404 response4038 behaves like LFS http expected response code and message4039 is expected to match "application/vnd.git-lfs+json"4040 upload request4041 behaves like LFS http 403 response4042 behaves like LFS http 404 response4043 behaves like LFS http expected response code and message4044 is expected to match "application/vnd.git-lfs+json"4045 with upload permission4046 upload request4047 behaves like LFS http 200 response4048 behaves like LFS http 404 response4049 behaves like LFS http expected response code and message4050 is expected to match "application/vnd.git-lfs+json"4051 deprecated API4052 when fetching LFS object using deprecated API4053 behaves like deprecated request4054 behaves like LFS http expected response code and message4055 is expected to eq "Server supports batch API only, please update your Git LFS client to version 1.0.1 and up."4056 when handling LFS request using deprecated API4057 behaves like deprecated request4058 behaves like LFS http expected response code and message4059 is expected to eq "Server supports batch API only, please update your Git LFS client to version 1.0.1 and up."4060API::Groups4061 GET /groups4062 when unauthenticated4063 returns public groups4064 avoids N+1 queries4065 when statistics are requested4066 does not include statistics4067 when authenticated as user4068 normal user: returns an array of groups of user14069 does not include runners_token information4070 does not include statistics4071 includes a created_at timestamp4072 pagination strategies4073 when the user is anonymous4074 offset pagination4075 on making requests beyond the allowed offset pagination threshold4076 returns error and suggests to use keyset pagination4077 on making requests below the allowed offset pagination threshold4078 paginates the records4079 keyset pagination4080 on making requests with supported ordering structure4081 paginates the records correctly4082 on making requests with unsupported ordering structure4083 returns error4084 when authenticated as admin4085 admin: returns an array of all groups4086 does not include runners_token information4087 does not include statistics by default4088 includes a created_at timestamp4089 includes statistics if requested4090 when using skip_groups in request4091 returns all groups excluding skipped groups4092 when using all_available in request4093 returns all groups you have access to4094 when using top_level_only4095 doesn't return subgroups4096 when using sorting4097 sorts by name ascending by default4098 sorts in descending order when passed4099 sorts by path in order_by param4100 sorts by id in the order_by param4101 sorts also by descending id with pagination fix4102 sorts identical keys by id for good pagination4103 sorts descending identical keys by id for good pagination4104 when searching with similarity ordering4105 sorts top level groups before subgroups with exact matches first4106 when `search` parameter is not given4107 sorts items ordered by name4108 when using owned in the request4109 returns an array of groups the user owns4110 when using min_access_level in the request4111 with min_access_level parameter4112 returns an array of groups the user has at least master access4113 distinct count4114 counts with *4115 when searching4116 finds also groups with full path matching search param4117 GET /groups/:id4118 when unauthenticated4119 returns 404 for a private group4120 returns 200 for a public group4121 returns only public projects in the group4122 returns only public projects shared with the group4123 when authenticated as user4124 returns one of user1's groups4125 returns one of user1's groups without projects when with_projects option is set to false4126 doesn't return runners_token if the user is not the owner of the group4127 returns runners_token if the user is the owner of the group4128 does not return a non existing group4129 does not return a group not attached to user14130 returns only public and internal projects in the group4131 returns only public and internal projects shared with the group4132 avoids N+1 queries with project links4133 avoids N+1 queries with shared group links4134 when authenticated as admin4135 returns any existing group4136 returns information of the runners_token for the group4137 returns runners_token and no projects when with_projects option is set to false4138 does not return a non existing group4139 when using group path in URL4140 returns any existing group4141 does not return a non existing group4142 does not return a group not attached to user14143 limiting the number of projects and shared_projects in the response4144 limits projects and shared_projects4145 when a group is shared4146 when authenticated as admin4147 returns all groups that share the group4148 when unauthenticated4149 returns only public groups that share the group4150 when authenticated as a member of a parent group that has shared the group4151 returns private group if direct member4152 returns private group if inherited member4153 expose shared_runners_setting attribute4154 returns the group with shared_runners_setting as 'enabled'4155 returns the group with shared_runners_setting as 'disabled_and_unoverridable'4156 returns the group with shared_runners_setting as 'disabled_and_overridable'4157 PUT /groups/:id4158 behaves like group avatar upload4159 when valid4160 returns avatar url in response4161 when invalid4162 when file format is not supported4163 behaves like invalid file upload request4164 returns 4004165 when file is too large4166 behaves like invalid file upload request4167 returns 4004168 when authenticated as the group owner4169 updates the group4170 removes the group avatar4171 does not update visibility_level if it is restricted4172 returns 404 for a non existing group4173 updating the `default_branch_protection` attribute4174 for users who have the ability to update default_branch_protection4175 updates the attribute4176 for users who does not have the ability to update default_branch_protection`4177 does not update the attribute4178 malicious group name4179 returns bad request4180 does not update group name4181 within a subgroup4182 does not change visibility when not requested4183 prevents making private a group containing public subgroups4184 does not update prevent_sharing_groups_outside_hierarchy4185 when authenticated as the admin4186 updates the group4187 ignores visibility level restrictions4188 when authenticated as an user that can see the group4189 does not updates the group4190 when authenticated as an user that cannot see the group4191 returns 404 when trying to update the group4192 GET /groups/:id/projects4193 when authenticated as user4194 returns the group's projects4195 returns the group's projects with simple representation4196 filters the groups projects4197 returns projects excluding shared4198 does not return a non existing group4199 does not return a group not attached to user14200 only returns projects to which user has access4201 only returns the projects owned by user4202 only returns the projects starred by user4203 avoids N+1 queries4204 with min access level4205 returns projects with min access level or higher4206 with owned4207 as a guest4208 returns no projects4209 as a maintainer4210 returns no projects4211 as an owner4212 returns projects with owner access level4213 and using archived4214 returns the group's archived projects4215 returns the group's non-archived projects4216 returns all of the group's projects4217 with similarity ordering4218 returns items based ordered by similarity4219 when `search` parameter is not given4220 returns items ordered by name4221 when include_subgroups is true4222 returns projects including those in subgroups4223 when include_ancestor_groups is true4224 returns ancestors groups projects4225 when authenticated as admin4226 returns any existing group4227 does not return a non existing group4228 when using group path in URL4229 returns any existing group4230 does not return a non existing group4231 does not return a group not attached to user14232 GET /groups/:id/projects/shared4233 when authenticated as user4234 returns the shared projects in the group4235 returns shared projects with min access level or higher4236 returns the shared projects of the group with simple representation4237 filters the shared projects in the group based on visibility4238 filters the shared projects in the group based on search params4239 does not return the projects owned by the group4240 returns 404 for a non-existing group4241 does not return a group not attached to the user4242 only returns shared projects to which user has access4243 only returns the projects starred by user4244 when authenticated as admin4245 returns shared projects of an existing group4246 avoids N+1 queries4247 for a non-existent group4248 returns 404 for a non-existent group4249 when using group path in URL4250 returns the right details4251 returns 404 for a non-existent group4252 GET /groups/:id/subgroups4253 when unauthenticated4254 returns only public subgroups4255 returns 404 for a private group4256 when statistics are requested4257 does not include statistics4258 when authenticated as user4259 when user is not member of a public group4260 returns no subgroups for the public group4261 when using all_available in request4262 returns public subgroups4263 when user is not member of a private group4264 returns 404 for the private group4265 when user is member of public group4266 returns private subgroups4267 when using statistics in request4268 does not include statistics4269 when user is member of private group4270 returns subgroups4271 when authenticated as admin4272 returns private subgroups of a public group4273 returns subgroups of a private group4274 does not include statistics by default4275 includes statistics if requested4276 behaves like skips searching in full path4277 does not find groups by full path4278 GET /groups/:id/descendant_groups4279 when unauthenticated4280 returns only public descendants4281 returns 404 for a private group4282 when authenticated as user4283 when user is not member of a public group4284 returns no descendants for the public group4285 when using all_available in request4286 returns public descendants4287 when user is not member of a private group4288 returns 404 for the private group4289 when user is member of public group4290 returns private descendants4291 when using statistics in request4292 does not include statistics4293 when user is member of private group4294 returns descendants4295 when authenticated as admin4296 returns private descendants of a public group4297 returns descendants of a private group4298 does not include statistics by default4299 includes statistics if requested4300 behaves like skips searching in full path4301 does not find groups by full path4302 POST /groups4303 behaves like group avatar upload4304 when valid4305 returns avatar url in response4306 when invalid4307 when file format is not supported4308 behaves like invalid file upload request4309 returns 4004310 when file is too large4311 behaves like invalid file upload request4312 returns 4004313 when authenticated as user without group permissions4314 does not create group4315 as owner4316 can create subgroups4317 as maintainer4318 can create subgroups4319 when authenticated as user with group permissions4320 creates group4321 creates a nested group4322 does not create group, duplicate4323 returns 400 bad request error if name not given4324 returns 400 bad request error if path not given4325 malicious group name4326 returns bad request4327 is expected not to change `Group.count`4328 when creating a group with `default_branch_protection` attribute4329 for users who have the ability to create a group with `default_branch_protection`4330 creates group with the specified branch protection level4331 for users who do not have the ability to create a group with `default_branch_protection`4332 does not create the group with the specified branch protection level4333 DELETE /groups/:id4334 when authenticated as user4335 removes group4336 does not remove a group if not an owner4337 does not remove a non existing group4338 does not remove a group not attached to user14339 behaves like 412 response4340 for a modified resource4341 returns 412 with a JSON error4342 for an unmodified resource4343 returns 204 with an empty body4344 when authenticated as admin4345 removes any existing group4346 does not remove a non existing group4347 POST /groups/:id/projects/:project_id4348 when authenticated as user4349 does not transfer project to group4350 when authenticated as admin4351 transfers project to group4352 when using project path in URL4353 with a valid project path4354 transfers project to group4355 with a non-existent project path4356 does not transfer project to group4357 when using a group path in URL4358 with a valid group path4359 transfers project to group4360 with a non-existent group path4361 does not transfer project to group4362 GET /groups/:id/transfer_locations4363 when the user has rights to transfer the group4364 returns 2004365 only includes groups where the user has permissions to transfer a group to4366 with search4367 includes groups where the user has permissions to transfer a group to, matching the search term4368 when the user does not have permissions to transfer the group4369 returns 4034370 for an anonymous user4371 returns 4044372 POST /groups/:id/transfer4373 when promoting a subgroup to a root group4374 when no group_id is specified4375 behaves like promotes the subgroup to a root group4376 returns success4377 when group_id is specified as blank4378 behaves like promotes the subgroup to a root group4379 returns success4380 when the group is already a root group4381 returns error4382 when transferring a subgroup to a different group4383 when the user does not have admin rights to the group being transferred4384 forbids the operation4385 when the user does not have access to the new parent group4386 fails with 4044387 when the ID of a non-existent group is mentioned as the new parent group4388 fails with 4044389 when the transfer fails due to an error4390 returns error4391 when the transfer succceds4392 returns success4393 behaves like custom attributes endpoints4394 GET /groups with custom attributes filter4395 with an unauthorized user4396 does not filter by custom attributes4397 with an authorized user4398 filters by custom attributes4399 GET /groups with custom attributes4400 with an unauthorized user4401 does not include custom attributes4402 with an authorized user4403 does not include custom attributes by default4404 includes custom attributes if requested4405 GET /groups/:id with custom attributes4406 with an unauthorized user4407 does not include custom attributes4408 with an authorized user4409 does not include custom attributes by default4410 includes custom attributes if requested4411 GET /groups/:id/custom_attributes4412 with an unauthorized user4413 behaves like an unauthorized API user4414 is expected to eq 4034415 with an authorized user4416 returns all custom attributes4417 GET /groups/:id/custom_attributes/:key4418 with an unauthorized user4419 behaves like an unauthorized API user4420 is expected to eq 4034421 with an authorized user4422 returns a single custom attribute4423 PUT /groups/:id/custom_attributes/:key4424 with an unauthorized user4425 behaves like an unauthorized API user4426 is expected to eq 4034427 with an authorized user4428 creates a new custom attribute4429 updates an existing custom attribute4430 DELETE /groups/:id/custom_attributes/:key4431 with an unauthorized user4432 behaves like an unauthorized API user4433 is expected to eq 4034434 with an authorized user4435 deletes an existing custom attribute4436 POST /groups/:id/share4437 when authenticated as owner4438 behaves like shares group with group4439 shares group with group4440 returns a 400 error when group id is not given4441 returns a 400 error when access level is not given4442 returns a 404 error when group does not exist4443 returns a 400 error when wrong params passed4444 returns a 409 error when link is not saved4445 when the user is not the owner of the group4446 does not create group share4447 when authenticated as admin4448 behaves like shares group with group4449 shares group with group4450 returns a 400 error when group id is not given4451 returns a 400 error when access level is not given4452 returns a 404 error when group does not exist4453 returns a 400 error when wrong params passed4454 returns a 409 error when link is not saved4455 DELETE /groups/:id/share/:group_id4456 when authenticated as owner4457 behaves like deletes group share4458 deletes a group share4459 requires the group id to be an integer4460 returns a 404 error when group link does not exist4461 returns a 404 error when group does not exist4462 when the user is not the owner of the group4463 does not remove group share4464 when authenticated as admin4465 behaves like deletes group share4466 deletes a group share4467 requires the group id to be an integer4468 returns a 404 error when group link does not exist4469 returns a 404 error when group does not exist4470Explore::ProjectsController4471 when user is signed in4472 GET #index.json4473 is expected to respond with 2004474 sets a default sort parameter4475 GET #trending.json4476 is expected to respond with 2004477 sets a default sort parameter4478 GET #starred.json4479 is expected to respond with 2004480 sets a default sort parameter4481 GET #trending4482 sorting by update date4483 sorts by last updated4484 sorts by oldest updated4485 projects aimed for deletion4486 does not list projects aimed for deletion4487 GET #topic4488 when topic does not exist4489 renders a 404 error4490 when topic exists4491 renders the template4492 finds topic by case insensitive name4493 GET #topic.atom4494 when topic does not exist4495 renders a 404 error4496 when topic exists4497 renders the template4498 sorts repos by descending creation date4499 finds topic by case insensitive name4500 when topic contains more than 20 projects4501 does not assigns more than 20 projects4502 page number is too high4503 GET index4504 is expected to respond with 4004505 is expected to render template explore/projects/page_out_of_bounds4506 assigns the page number4507 GET index.json4508 is expected to respond with 4004509 metrics recording4510 records the interception4511 GET trending4512 is expected to respond with 4004513 is expected to render template explore/projects/page_out_of_bounds4514 assigns the page number4515 GET trending.json4516 is expected to respond with 4004517 metrics recording4518 records the interception4519 GET starred4520 is expected to respond with 4004521 is expected to render template explore/projects/page_out_of_bounds4522 assigns the page number4523 GET starred.json4524 is expected to respond with 4004525 metrics recording4526 records the interception4527 page number is acceptable4528 GET index4529 is expected to respond with 2004530 is expected to render template explore/projects/index4531 GET index.json4532 is expected to respond with 2004533 GET trending4534 is expected to respond with 2004535 is expected to render template explore/projects/trending4536 GET trending.json4537 is expected to respond with 2004538 GET starred4539 is expected to respond with 2004540 is expected to render template explore/projects/starred4541 GET starred.json4542 is expected to respond with 2004543 GET index4544 avoids N+1 queries4545 GET trending4546 avoids N+1 queries4547 GET starred4548 avoids N+1 queries4549 user preference sorting4550 behaves like set sort order from user preference4551 #set_sort_order_from_user_preference4552 when database is in read-only mode4553 does not update user preference4554 when database is not in read-only mode4555 updates user preference4556 GET #index4557 assigns the correct all_user_projects4558 assigns the correct all_starred_projects4559 when disable_anonymous_project_search is enabled4560 does not show a flash message4561 when user is not signed in4562 GET #index.json4563 is expected to respond with 2004564 sets a default sort parameter4565 GET #trending.json4566 is expected to respond with 2004567 sets a default sort parameter4568 GET #starred.json4569 is expected to respond with 2004570 sets a default sort parameter4571 GET #trending4572 sorting by update date4573 sorts by last updated4574 sorts by oldest updated4575 projects aimed for deletion4576 does not list projects aimed for deletion4577 GET #topic4578 when topic does not exist4579 renders a 404 error4580 when topic exists4581 renders the template4582 finds topic by case insensitive name4583 GET #topic.atom4584 when topic does not exist4585 renders a 404 error4586 when topic exists4587 renders the template4588 sorts repos by descending creation date4589 finds topic by case insensitive name4590 when topic contains more than 20 projects4591 does not assigns more than 20 projects4592 page number is too high4593 GET index4594 is expected to respond with 4004595 is expected to render template explore/projects/page_out_of_bounds4596 assigns the page number4597 GET index.json4598 is expected to respond with 4004599 metrics recording4600 records the interception4601 GET trending4602 is expected to respond with 4004603 is expected to render template explore/projects/page_out_of_bounds4604 assigns the page number4605 GET trending.json4606 is expected to respond with 4004607 metrics recording4608 records the interception4609 GET starred4610 is expected to respond with 4004611 is expected to render template explore/projects/page_out_of_bounds4612 assigns the page number4613 GET starred.json4614 is expected to respond with 4004615 metrics recording4616 records the interception4617 page number is acceptable4618 GET index4619 is expected to respond with 2004620 is expected to render template explore/projects/index4621 GET index.json4622 is expected to respond with 2004623 GET trending4624 is expected to respond with 2004625 is expected to render template explore/projects/trending4626 GET trending.json4627 is expected to respond with 2004628 GET starred4629 is expected to respond with 2004630 is expected to render template explore/projects/starred4631 GET starred.json4632 is expected to respond with 2004633 GET index4634 avoids N+1 queries4635 GET trending4636 avoids N+1 queries4637 GET starred4638 avoids N+1 queries4639 user preference sorting4640 does not set sort order from user preference4641 restricted visibility level is public4642 redirects to login page4643 GET #index4644 when disable_anonymous_project_search is enabled4645 shows a flash message4646 when search param is not given4647 does not show a flash message4648 when format is not HTML4649 does not show a flash message4650 when disable_anonymous_project_search is disabled4651 does not show a flash message4652getting an issue list for a project4653 behaves like graphql issue list request spec4654 includes a web_url4655 includes discussion locked4656 behaves like a working graphql query4657 returns a successful response4658 filters4659 when filtering by assignees4660 when both assignee_username filters are provided4661 returns a mutually exclusive param error4662 when both assignee_username and assignee_wildcard_id filters are provided4663 returns a mutually exclusive param error4664 when filtering by assignee_wildcard_id4665 when filtering for all issues with assignees4666 returns all issues with assignees4667 when filtering for issues without assignees4668 returns all issues without assignees4669 when filtering by a negated argument4670 returns correctly filtered issues4671 when filtering by unioned arguments4672 when filtering by assignees4673 returns correctly filtered issues4674 when filtering by labels4675 returns correctly filtered issues4676 when argument is blank4677 does not raise an error4678 when feature flag is disabled4679 returns an error4680 when filtering by a blank negated argument4681 does not raise an error4682 when filtering by reaction emoji4683 value: "thumbsup", issue_list: lazy { voted_issues }4684 returns correctly filtered issues4685 value: "ANY", issue_list: lazy { voted_issues }4686 returns correctly filtered issues4687 value: "any", issue_list: lazy { voted_issues }4688 returns correctly filtered issues4689 value: "AnY", issue_list: lazy { voted_issues }4690 returns correctly filtered issues4691 value: "NONE", issue_list: lazy { no_award_issues }4692 returns correctly filtered issues4693 value: "thumbsdown", issue_list: lazy { [] }4694 returns correctly filtered issues4695 when filtering by search4696 behaves like query with a search term4697 returns only matching issuables4698 when filtering by confidentiality4699 when fetching confidential issues4700 returns only confidential issues4701 when user cannot see confidential issues4702 returns an empty list4703 when fetching non-confidential issues4704 returns only non-confidential issues4705 when user cannot see confidential issues4706 returns an empty list4707 sorting and pagination4708 when sorting by severity4709 when ascending4710 behaves like sorted paginated query4711 behaves like requires variables4712 shared example requires variables to be set4714 when sorting4715 sorts correctly4716 when paginating4717 paginates correctly4718 when descending4719 behaves like sorted paginated query4720 behaves like requires variables4721 shared example requires variables to be set4723 when sorting4724 sorts correctly4725 when paginating4726 paginates correctly4727 when sorting by priority4728 when ascending4729 behaves like sorted paginated query4730 behaves like requires variables4731 shared example requires variables to be set4733 when sorting4734 sorts correctly4735 when paginating4736 paginates correctly4737 when descending4738 behaves like sorted paginated query4739 behaves like requires variables4740 shared example requires variables to be set4742 when sorting4743 sorts correctly4744 when paginating4745 paginates correctly4746 when sorting by due date4747 when ascending4748 behaves like sorted paginated query4749 behaves like requires variables4750 shared example requires variables to be set4752 when sorting4753 sorts correctly4754 when paginating4755 paginates correctly4756 when descending4757 behaves like sorted paginated query4758 behaves like requires variables4759 shared example requires variables to be set4761 when sorting4762 sorts correctly4763 when paginating4764 paginates correctly4765 when sorting by relative position4766 when ascending4767 behaves like sorted paginated query4768 behaves like requires variables4769 shared example requires variables to be set4771 when sorting4772 sorts correctly4773 when paginating4774 paginates correctly4775 when last and sort params are present4776 fetches last elements without error4777 when sorting by label priority4778 when ascending4779 behaves like sorted paginated query4780 behaves like requires variables4781 shared example requires variables to be set4783 when sorting4784 sorts correctly4785 when paginating4786 paginates correctly4787 when descending4788 behaves like sorted paginated query4789 behaves like requires variables4790 shared example requires variables to be set4792 when sorting4793 sorts correctly4794 when paginating4795 paginates correctly4796 when sorting by milestone due date4797 when ascending4798 behaves like sorted paginated query4799 behaves like requires variables4800 shared example requires variables to be set4802 when sorting4803 sorts correctly4804 when paginating4805 paginates correctly4806 when descending4807 behaves like sorted paginated query4808 behaves like requires variables4809 shared example requires variables to be set4811 when sorting4812 sorts correctly4813 when paginating4814 paginates correctly4815 N+1 query checks4816 when requesting `user_notes_count` and `user_discussions_count`4817 prevents N+1 queries4818 when requesting `merge_requests_count`4819 prevents N+1 queries4820 when requesting `timelogs`4821 prevents N+1 queries4822 when requesting `closed_as_duplicate_of`4823 prevents N+1 queries4824 when award emoji votes4825 prevents N+1 queries4826 when requesting participants4827 prevents N+1 queries4828 when requesting labels4829 prevents N+1 queries4830 when confidential issues exist4831 when user can see confidential issues4832 includes confidential issues4833 when user cannot see confidential issues4834 does not include confidential issues4835 when limiting the number of results4836 is expected to check permissions on the first issue only4837 behaves like a working graphql query4838 returns a successful response4839 only returns N issues4840 when no limit is provided4841 returns all issues4842 when the user does not have access to the issue4843 returns no issues4844 when fetching escalation status4845 returns the escalation status values4846 avoids N+1 queries4847 when fetching alert management alert4848 avoids N+1 queries4849 returns the alert data4850 returns the alerts data4851 when fetching customer_relations_contacts4852 avoids N+1 queries4853 when fetching labels4854 avoids N+1 queries4855 when fetching assignees4856 avoids N+1 queries4857 when selecting `related_merge_requests`4858 limits the field to 1 execution4859Groups::MilestonesController4860 behaves like milestone tabs4861 #issues4862 as html4863 redirects to milestone#show4864 as json4865 renders the issues tab template to a string4866 #merge_requests4867 as html4868 redirects to milestone#show4869 as json4870 renders the merge requests tab template to a string4871 #participants4872 as html4873 redirects to milestone#show4874 as json4875 renders the participants tab template to a string4876 #labels4877 as html4878 redirects to milestone#show4879 as json4880 renders the labels tab template to a string4881 #index4882 as HTML4883 shows group milestones page4884 searches legacy milestones by title when search_title is given4885 searches group milestones by title when search_title is given4886 when anonymous user4887 shows group milestones page4888 when issues and merge requests are disabled in public project4889 when anonymous user4890 behaves like milestone not accessible4891 does not return milestone4892 when non project or group member user4893 behaves like milestone not accessible4894 does not return milestone4895 when group member user4896 returns the milestone4897 when subgroup milestones are present4898 shows subgroup milestones that user has access to4899 when user has no access to subgroups4900 does not show subgroup milestones4901 as JSON4902 lists project and group milestones4903 with subgroup milestones4904 lists descendants group milestones4905 for a subgroup4906 includes ancestor group milestones4907 external authorization4908 behaves like disabled when using an external authorization service4909 works when the feature is not enabled4910 renders a 404 with a message when the feature is enabled4911 #show4912 renders for a group milestone4913 #create4914 creates group milestone with Chinese title4915 #update4916 updates group milestone4917 handles ActiveRecord::StaleObjectError4918 with format :json4919 responds :no_content (204) without content body and updates milestone sucessfully4920 responds unprocessable_entity (422) with error data4921 handles ActiveRecord::StaleObjectError4922 #destroy4923 removes milestone4924 #ensure_canonical_path4925 for a GET request4926 when requesting the canonical path4927 non-show path4928 with exactly matching casing4929 does not redirect4930 with different casing4931 redirects to the correct casing4932 show path4933 with exactly matching casing4934 does not redirect4935 with different casing4936 redirects to the correct casing4937 when requesting a redirected path4938 redirects to the canonical path4939 with an AJAX request4940 redirects to the canonical path but does not set flash message4941 with JSON format4942 redirects to the canonical path but does not set flash message4943 when the old group path is a substring of the scheme or host4944 does not modify the requested host4945 when the old group path is substring of groups4946 does not modify the /groups part of the path4947 when the old group path is substring of groups plus the new path4948 does not modify the /groups part of the path4949 for a non-GET request4950 when requesting the canonical path with different casing4951 does not 4044952 does not redirect to the correct casing4953 when requesting a redirected path4954 returns not found4955API::Invitations4956 POST /projects/:id/invitations4957 does not exceed expected queries count for emails4958 does not exceed expected queries count for user_ids4959 does not exceed expected queries count with secondary emails4960 behaves like POST /:source_type/:id/invitations4961 with :source_type == projects4962 updates an already existing active member4963 returns 400 when the invite params of email and user_id are not sent4964 returns 400 when the email is blank4965 returns 400 when the user_id is blank4966 returns 400 when the email list is not a valid format4967 returns 400 when the comma-separated email list is not a valid format4968 returns 400 when access_level is not given4969 returns 400 when access_level is not valid4970 behaves like a 404 response when source is private4971 returns 4044972 when authenticated as a non-member or member with insufficient membership management rights4973 when the user does not have rights to manage members4974 as a access_requester4975 behaves like a 403 response when user does not have rights to manage members of a specific access level4976 returns 4034977 as a stranger4978 behaves like a 403 response when user does not have rights to manage members of a specific access level4979 returns 4034980 as a developer4981 behaves like a 403 response when user does not have rights to manage members of a specific access level4982 returns 4034983 when the user has the rights to manage members but tries to manage members with a higher access level4984 when an invitee is added as OWNER4985 behaves like a 403 response when user does not have rights to manage members of a specific access level4986 returns 4034987 when an access_requester is added as OWNER4988 behaves like a 403 response when user does not have rights to manage members of a specific access level4989 returns 4034990 when authenticated as a maintainer/owner4991 adds a new member by email4992 adds a new member by confirmed primary email4993 adds a new member by unconfirmed primary email4994 adds a new member by confirmed secondary email4995 adds a new member as an invite for unconfirmed secondary email4996 adds a new member by user_id4997 adds new members with email and user_id4998 invites a list of new email addresses4999 invites a list of new email addresses and user ids5000 and new member is already a requester5001 transforms the requester into a proper member5002 when invitee is already an invited member5003 updates the member for that email5004 access levels5005 does not create the member if group level is higher5006 creates the member if group level is lower5007 access expiry date5008 when set to a date in the past5009 does not create a member5010 when set to a date in the future5011 invites a member5012 with tasks_to_be_done and tasks_project_id in the params5013 when there is 1 invitation5014 creates a member_task with the tasks_to_be_done and the project5015 when there are multiple invitations5016 creates a member_task with the tasks_to_be_done and the project5017 with invite_source considerations5018 tracks the invite source as api5019 tracks the invite source from params5020 when adding project bot5021 returns error5022 POST /groups/:id/invitations5023 does not exceed expected queries count for emails5024 does not exceed expected queries count for secondary emails5025 behaves like POST /:source_type/:id/invitations5026 with :source_type == groups5027 updates an already existing active member5028 returns 400 when the invite params of email and user_id are not sent5029 returns 400 when the email is blank5030 returns 400 when the user_id is blank5031 returns 400 when the email list is not a valid format5032 returns 400 when the comma-separated email list is not a valid format5033 returns 400 when access_level is not given5034 returns 400 when access_level is not valid5035 behaves like a 404 response when source is private5036 returns 4045037 when authenticated as a non-member or member with insufficient membership management rights5038 when the user does not have rights to manage members5039 as a access_requester5040 behaves like a 403 response when user does not have rights to manage members of a specific access level5041 returns 4035042 as a stranger5043 behaves like a 403 response when user does not have rights to manage members of a specific access level5044 returns 4035045 as a developer5046 behaves like a 403 response when user does not have rights to manage members of a specific access level5047 returns 4035048 when the user has the rights to manage members but tries to manage members with a higher access level5049 when an invitee is added as OWNER5050 behaves like a 403 response when user does not have rights to manage members of a specific access level5051 returns 4035052 when an access_requester is added as OWNER5053 behaves like a 403 response when user does not have rights to manage members of a specific access level5054 returns 4035055 when authenticated as a maintainer/owner5056 adds a new member by email5057 adds a new member by confirmed primary email5058 adds a new member by unconfirmed primary email5059 adds a new member by confirmed secondary email5060 adds a new member as an invite for unconfirmed secondary email5061 adds a new member by user_id5062 adds new members with email and user_id5063 invites a list of new email addresses5064 invites a list of new email addresses and user ids5065 and new member is already a requester5066 transforms the requester into a proper member5067 when invitee is already an invited member5068 updates the member for that email5069 access levels5070 does not create the member if group level is higher5071 creates the member if group level is lower5072 access expiry date5073 when set to a date in the past5074 does not create a member5075 when set to a date in the future5076 invites a member5077 with tasks_to_be_done and tasks_project_id in the params5078 when there is 1 invitation5079 creates a member_task with the tasks_to_be_done and the project5080 when there are multiple invitations5081 creates a member_task with the tasks_to_be_done and the project5082 with invite_source considerations5083 tracks the invite source as api5084 tracks the invite source from params5085 when adding project bot5086 returns error5087 GET /projects/:id/invitations5088 behaves like GET /:source_type/:id/invitations5089 with :source_type == projects5090 does not find confirmed members5091 finds all members with no query string specified5092 finds the invitation by invite_email with query string5093 behaves like a 404 response when source is private5094 returns 4045095 when authenticated as a maintainer5096 returns 2005097 as a access_requester5098 behaves like a 403 response when user does not have rights to manage members of a specific access level5099 returns 4035100 as a stranger5101 behaves like a 403 response when user does not have rights to manage members of a specific access level5102 returns 4035103 as a developer5104 behaves like a 403 response when user does not have rights to manage members of a specific access level5105 returns 4035106 GET /groups/:id/invitations5107 behaves like GET /:source_type/:id/invitations5108 with :source_type == groups5109 does not find confirmed members5110 finds all members with no query string specified5111 finds the invitation by invite_email with query string5112 behaves like a 404 response when source is private5113 returns 4045114 when authenticated as a maintainer5115 returns 2005116 as a access_requester5117 behaves like a 403 response when user does not have rights to manage members of a specific access level5118 returns 4035119 as a stranger5120 behaves like a 403 response when user does not have rights to manage members of a specific access level5121 returns 4035122 as a developer5123 behaves like a 403 response when user does not have rights to manage members of a specific access level5124 returns 4035125 DELETE /projects/:id/inviations/:email5126 behaves like DELETE /:source_type/:id/invitations/:email5127 with :source_type == projects5128 returns 404 if member does not exist5129 returns 422 for a valid request if the resource was not destroyed5130 behaves like a 404 response when source is private5131 returns 4045132 when authenticated as a non-member or member with insufficient rights5133 when the user does not have rights to manage members5134 as a access_requester5135 behaves like a 403 response when user does not have rights to manage members of a specific access level5136 returns 4035137 as a stranger5138 behaves like a 403 response when user does not have rights to manage members of a specific access level5139 returns 4035140 when authenticated as a member and deleting themself5141 does not delete the member5142 when authenticated as a maintainer/owner5143 deletes the member and returns 204 with no content5144 when MAINTAINER tries to remove invitation of an OWNER5145 behaves like a 403 response when user does not have rights to manage members of a specific access level5146 returns 4035147 DELETE /groups/:id/inviations/:email5148 behaves like DELETE /:source_type/:id/invitations/:email5149 with :source_type == groups5150 returns 404 if member does not exist5151 returns 422 for a valid request if the resource was not destroyed5152 behaves like a 404 response when source is private5153 returns 4045154 when authenticated as a non-member or member with insufficient rights5155 when the user does not have rights to manage members5156 as a access_requester5157 behaves like a 403 response when user does not have rights to manage members of a specific access level5158 returns 4035159 as a stranger5160 behaves like a 403 response when user does not have rights to manage members of a specific access level5161 returns 4035162 when authenticated as a member and deleting themself5163 does not delete the member5164 when authenticated as a maintainer/owner5165 deletes the member and returns 204 with no content5166 when MAINTAINER tries to remove invitation of an OWNER5167 behaves like a 403 response when user does not have rights to manage members of a specific access level5168 returns 4035169 PUT /projects/:id/invitations5170 behaves like PUT /:source_type/:id/invitations/:email5171 with :source_type == projects5172 behaves like a 404 response when source is private5173 returns 4045174 when authenticated as a non-member or member with insufficient rights5175 when the user does not have rights to manage members5176 as a access_requester5177 behaves like a 403 response when user does not have rights to manage members of a specific access level5178 returns 4035179 as a stranger5180 behaves like a 403 response when user does not have rights to manage members of a specific access level5181 returns 4035182 when authenticated as a maintainer/owner5183 returns 409 if member does not exist5184 returns 400 when access_level is not given and there are no other params5185 returns 400 when access level is not valid5186 updating access level5187 updates the invitation5188 MAINTAINER tries to update access level to OWNER5189 behaves like a 403 response when user does not have rights to manage members of a specific access level5190 returns 4035191 updating access expiry date5192 when set to a date in the past5193 does not update the member5194 when set to a date in the future5195 updates the member5196 PUT /groups/:id/invitations5197 behaves like PUT /:source_type/:id/invitations/:email5198 with :source_type == groups5199 behaves like a 404 response when source is private5200 returns 4045201 when authenticated as a non-member or member with insufficient rights5202 when the user does not have rights to manage members5203 as a access_requester5204 behaves like a 403 response when user does not have rights to manage members of a specific access level5205 returns 4035206 as a stranger5207 behaves like a 403 response when user does not have rights to manage members of a specific access level5208 returns 4035209 when authenticated as a maintainer/owner5210 returns 409 if member does not exist5211 returns 400 when access_level is not given and there are no other params5212 returns 400 when access level is not valid5213 updating access level5214 updates the invitation5215 MAINTAINER tries to update access level to OWNER5216 behaves like a 403 response when user does not have rights to manage members of a specific access level5217 returns 4035218 updating access expiry date5219 when set to a date in the past5220 does not update the member5221 when set to a date in the future5222 updates the member5223SearchController5224 authorized user5225 GET #show5226 finds issue comments5227 increments the custom search sli apdex5228 behaves like when the user cannot read cross project5229 blocks access without a project_id5230 allows access with a project_id5231 still allows accessing the search page5232 behaves like with external authorization service enabled5233 renders a 403 when no project is given5234 renders a 200 when a project was set5235 behaves like support for active record query timeouts5236 renders a 408 when a timeout occurs5237 rate limit scope5238 uses current_user and search scope5239 uses just current_user when no search scope is used5240 uses just current_user when search scope is abusive5241 uses the right partials depending on scope5242 partial: "_blob", scope: :blobs5243 is expected to render template search/results/_blob5244 partial: "_wiki_blob", scope: :wiki_blobs5245 is expected to render template search/results/_wiki_blob5246 partial: "_commit", scope: :commits5247 is expected to render template search/results/_commit5248 global search5249 when block_anonymous_global_searches is disabled5250 omits pipeline status from load5251 check search term length5252 string_name: :chars_under_limit, expectation: :not_to_set_flash5253 is expected not to should set flash[:alert]5254 string_name: :chars_over_limit, expectation: :set_chars_flash5255 is expected to should set flash[:alert] to a value matching /characters/5256 string_name: :terms_under_limit, expectation: :not_to_set_flash5257 is expected not to should set flash[:alert]5258 string_name: :terms_over_limit, expectation: :set_terms_flash5259 is expected to should set flash[:alert] to a value matching /terms/5260 string_name: :term_length_under_limit, expectation: :not_to_set_flash5261 is expected not to should set flash[:alert]5262 string_name: :term_length_over_limit, expectation: :not_to_set_flash5263 is expected not to should set flash[:alert]5264 string_name: :blank, expectation: :not_to_set_flash5265 is expected not to should set flash[:alert]5266 when block_anonymous_global_searches is enabled5267 for unauthenticated user5268 redirects to login page5269 redirects to login page when trying to circumvent the restriction5270 for authenticated user5271 succeeds5272 handling abusive search_terms5273 succeeds but does NOT do anything5274 tab feature flags5275 feature_flag: :global_search_code_tab, scope: "blobs"5276 returns 200 if flag is enabled5277 redirects with alert if flag is disabled5278 feature_flag: :global_search_issues_tab, scope: "issues"5279 returns 200 if flag is enabled5280 redirects with alert if flag is disabled5281 feature_flag: :global_search_merge_requests_tab, scope: "merge_requests"5282 returns 200 if flag is enabled5283 redirects with alert if flag is disabled5284 feature_flag: :global_search_wiki_tab, scope: "wiki_blobs"5285 returns 200 if flag is enabled5286 redirects with alert if flag is disabled5287 feature_flag: :global_search_commits_tab, scope: "commits"5288 returns 200 if flag is enabled5289 redirects with alert if flag is disabled5290 feature_flag: :global_search_users_tab, scope: "users"5291 returns 200 if flag is enabled5292 redirects with alert if flag is disabled5293 unique users tracking5294 behaves like tracking unique hll events5295 tracks unique event5296 behaves like Snowplow event tracking with RedisHLL context5297 behaves like Snowplow event tracking5298 is emitted5299 on restricted projects5300 doesn't expose comments on merge_requests5301 doesn't expose comments on snippets5302 when signed out5303 doesn't expose comments on issues5304 behaves like rate limited endpoint5305 when rate limiter enabled5306 logs request and declines it when endpoint called more than the threshold5307 when rate limiter is disabled5308 does not log request and does not block the request5309 custom search sli error rate5310 when the search is successful5311 increments the custom search sli error rate with error: false5312 when the search raises an error5313 increments the custom search sli error rate with error: true5314 when something goes wrong before a search is done5315 does not increment the error rate5316 GET #count5317 returns the result count for the given term and scope5318 raises an error if search term is missing5319 raises an error if search scope is missing5320 sets correct cache control headers5321 does NOT blow up if search param is NOT a string5322 does NOT blow up if repository_ref contains abusive characters5323 behaves like when the user cannot read cross project5324 blocks access without a project_id5325 allows access with a project_id5326 behaves like with external authorization service enabled5327 renders a 403 when no project is given5328 renders a 200 when a project was set5329 behaves like support for active record query timeouts5330 renders a 408 when a timeout occurs5331 rate limit scope5332 uses current_user and search scope5333 uses just current_user when search scope is abusive5334 behaves like rate limited endpoint5335 when rate limiter enabled5336 logs request and declines it when endpoint called more than the threshold5337 when rate limiter is disabled5338 does not log request and does not block the request5339 GET #autocomplete5340 raises an error if search term is missing5341 returns an empty array when given abusive search term5342 can be filtered with params[:filter]5343 can be scoped with params[:scope]5344 makes a call to search_autocomplete_opts5345 sets correct cache control headers5346 behaves like when the user cannot read cross project5347 blocks access without a project_id5348 allows access with a project_id5349 behaves like with external authorization service enabled5350 renders a 403 when no project is given5351 renders a 200 when a project was set5352 behaves like support for active record query timeouts5353 renders a 408 when a timeout occurs5354 rate limit scope5355 uses current_user and search scope5356 uses just current_user when search scope is abusive5357 behaves like rate limited endpoint5358 when rate limiter enabled5359 logs request and declines it when endpoint called more than the threshold5360 when rate limiter is disabled5361 does not log request and does not block the request5362 #append_info_to_payload5363 appends search metadata for logging5364 appends the default scope in meta.search.scope5365 appends the search time based on the search5366 abusive searches5367 returns EmptySearchResults5368 unauthorized user5369 search rate limits5370 endpoint: :show, params: {:search=>"hello", :scope=>"projects"}5371 uses request IP as rate limiting scope5372 behaves like rate limited endpoint5373 when rate limiter enabled5374 logs request and declines it when endpoint called more than the threshold5375 when rate limiter is disabled5376 does not log request and does not block the request5377 endpoint: :count, params: {:search=>"hello", :scope=>"projects"}5378 uses request IP as rate limiting scope5379 behaves like rate limited endpoint5380 when rate limiter enabled5381 logs request and declines it when endpoint called more than the threshold5382 when rate limiter is disabled5383 does not log request and does not block the request5384 endpoint: :autocomplete, params: {:term=>"hello", :scope=>"projects"}5385 uses request IP as rate limiting scope5386 behaves like rate limited endpoint5387 when rate limiter enabled5388 logs request and declines it when endpoint called more than the threshold5389 when rate limiter is disabled5390 does not log request and does not block the request5391 GET #opensearch5392 renders xml5393API::ProjectClusters5394 GET /projects/:id/clusters5395 feature flag is disabled5396 responds with :not_found5397 non-authorized user5398 responds with 4035399 authorized user5400 includes pagination headers5401 only includes authorized clusters5402 GET /projects/:id/clusters/:cluster_id5403 feature flag is disabled5404 responds with :not_found5405 non-authorized user5406 responds with 4035407 authorized user5408 returns specific cluster5409 returns cluster information5410 returns project information5411 returns kubernetes platform information5412 returns user information5413 returns GCP provider information5414 when cluster has no provider5415 does not include GCP provider info5416 with non-existing cluster5417 returns 4045418 POST /projects/:id/clusters/user5419 feature flag is disabled5420 responds with :not_found5421 non-authorized user5422 responds with 4035423 authorized user5424 with valid params5425 creates a new Cluster::Cluster5426 when user does not indicate authorization type5427 defaults to RBAC5428 when user sets authorization type as ABAC5429 creates an ABAC cluster5430 when namespace_per_environment is not set5431 defaults to true5432 current user does not have access to management_project_id5433 responds with 4005434 returns validation errors5435 with invalid params5436 does not create a new Clusters::Cluster5437 non-authorized user5438 responds with 4035439 POST /projects/:id/clusters/user with multiple clusters5440 when another cluster exists5441 responds with 2015442 allows multiple clusters to be associated to project5443 PUT /projects/:id/clusters/:cluster_id5444 feature flag is disabled5445 responds with :not_found5446 non-authorized user5447 responds with 4035448 authorized user5449 with valid params5450 updates cluster attributes5451 with invalid params5452 does not update cluster attributes5453 returns validation errors5454 current user does not have access to management_project_id5455 returns validation errors5456 with a GCP cluster5457 when user tries to change GCP specific fields5458 returns validation error5459 when user tries to change namespace5460 responds with 2005461 with an user cluster5462 updates platform kubernetes attributes5463 with a cluster that does not belong to user5464 responds with 4045465 DELETE /projects/:id/clusters/:cluster_id5466 feature flag is disabled5467 responds with :not_found5468 non-authorized user5469 responds with 4035470 authorized user5471 deletes the cluster5472 with a cluster that does not belong to user5473 responds with 4045474merge requests discussions5475 GET /:namespace/:project/-/merge_requests/:iid/discussions5476 avoids N+1 DB queries5477 returns 2005478 limits Gitaly queries5479 caching5480 behaves like cache hit5481 gets cached on subsequent requests5482 when a note in a discussion got updated5483 behaves like cache miss5484WARNING: You're overriding a previous stub implementation of `represent`. Called from /builds/gitlab-org/gitlab/spec/requests/projects/merge_requests_discussions_spec.rb:72:in `block (6 levels) in <top (required)>'.. Called from /builds/gitlab-org/gitlab/spec/requests/projects/merge_requests_discussions_spec.rb:72:in `block (6 levels) in <top (required)>'.5485 does not hit a warm cache5486 when a note in a discussion got its reference state updated5487 behaves like cache miss5488WARNING: You're overriding a previous stub implementation of `represent`. Called from /builds/gitlab-org/gitlab/spec/requests/projects/merge_requests_discussions_spec.rb:72:in `block (6 levels) in <top (required)>'.. Called from /builds/gitlab-org/gitlab/spec/requests/projects/merge_requests_discussions_spec.rb:72:in `block (6 levels) in <top (required)>'.5489 does not hit a warm cache5490 when a note in a discussion got resolved5491 behaves like cache miss5492WARNING: You're overriding a previous stub implementation of `represent`. Called from /builds/gitlab-org/gitlab/spec/requests/projects/merge_requests_discussions_spec.rb:72:in `block (6 levels) in <top (required)>'.. Called from /builds/gitlab-org/gitlab/spec/requests/projects/merge_requests_discussions_spec.rb:72:in `block (6 levels) in <top (required)>'.5493 does not hit a warm cache5494 when a note is added to a discussion5495 behaves like cache miss5496WARNING: You're overriding a previous stub implementation of `represent`. Called from /builds/gitlab-org/gitlab/spec/requests/projects/merge_requests_discussions_spec.rb:72:in `block (6 levels) in <top (required)>'.. Called from /builds/gitlab-org/gitlab/spec/requests/projects/merge_requests_discussions_spec.rb:72:in `block (6 levels) in <top (required)>'.5497 does not hit a warm cache5498 when a note is removed from a discussion5499 behaves like cache miss5500WARNING: You're overriding a previous stub implementation of `represent`. Called from /builds/gitlab-org/gitlab/spec/requests/projects/merge_requests_discussions_spec.rb:72:in `block (6 levels) in <top (required)>'.. Called from /builds/gitlab-org/gitlab/spec/requests/projects/merge_requests_discussions_spec.rb:72:in `block (6 levels) in <top (required)>'.5501 does not hit a warm cache5502 when an emoji is awarded to a note in discussion5503 behaves like cache miss5504WARNING: You're overriding a previous stub implementation of `represent`. Called from /builds/gitlab-org/gitlab/spec/requests/projects/merge_requests_discussions_spec.rb:72:in `block (6 levels) in <top (required)>'.. Called from /builds/gitlab-org/gitlab/spec/requests/projects/merge_requests_discussions_spec.rb:72:in `block (6 levels) in <top (required)>'.5505 does not hit a warm cache5506 when an award emoji is removed from a note in discussion5507 behaves like cache miss5508WARNING: You're overriding a previous stub implementation of `represent`. Called from /builds/gitlab-org/gitlab/spec/requests/projects/merge_requests_discussions_spec.rb:72:in `block (6 levels) in <top (required)>'.. Called from /builds/gitlab-org/gitlab/spec/requests/projects/merge_requests_discussions_spec.rb:72:in `block (6 levels) in <top (required)>'.5509 does not hit a warm cache5510 when the diff note position changes5511 behaves like cache miss5512WARNING: You're overriding a previous stub implementation of `represent`. Called from /builds/gitlab-org/gitlab/spec/requests/projects/merge_requests_discussions_spec.rb:72:in `block (6 levels) in <top (required)>'.. Called from /builds/gitlab-org/gitlab/spec/requests/projects/merge_requests_discussions_spec.rb:72:in `block (6 levels) in <top (required)>'.5513 does not hit a warm cache5514 when the HEAD diff note position changes5515 behaves like cache miss5516WARNING: You're overriding a previous stub implementation of `represent`. Called from /builds/gitlab-org/gitlab/spec/requests/projects/merge_requests_discussions_spec.rb:72:in `block (6 levels) in <top (required)>'.. Called from /builds/gitlab-org/gitlab/spec/requests/projects/merge_requests_discussions_spec.rb:72:in `block (6 levels) in <top (required)>'.5517 does not hit a warm cache5518 when author detail changes5519 behaves like cache miss5520WARNING: You're overriding a previous stub implementation of `represent`. Called from /builds/gitlab-org/gitlab/spec/requests/projects/merge_requests_discussions_spec.rb:72:in `block (6 levels) in <top (required)>'.. Called from /builds/gitlab-org/gitlab/spec/requests/projects/merge_requests_discussions_spec.rb:72:in `block (6 levels) in <top (required)>'.5521 does not hit a warm cache5522 when author status changes5523 behaves like cache miss5524WARNING: You're overriding a previous stub implementation of `represent`. Called from /builds/gitlab-org/gitlab/spec/requests/projects/merge_requests_discussions_spec.rb:72:in `block (6 levels) in <top (required)>'.. Called from /builds/gitlab-org/gitlab/spec/requests/projects/merge_requests_discussions_spec.rb:72:in `block (6 levels) in <top (required)>'.5525 does not hit a warm cache5526 when author role changes5527 behaves like cache miss5528WARNING: You're overriding a previous stub implementation of `represent`. Called from /builds/gitlab-org/gitlab/spec/requests/projects/merge_requests_discussions_spec.rb:72:in `block (6 levels) in <top (required)>'.. Called from /builds/gitlab-org/gitlab/spec/requests/projects/merge_requests_discussions_spec.rb:72:in `block (6 levels) in <top (required)>'.5529 does not hit a warm cache5530 when current_user role changes5531 behaves like cache miss5532WARNING: You're overriding a previous stub implementation of `represent`. Called from /builds/gitlab-org/gitlab/spec/requests/projects/merge_requests_discussions_spec.rb:72:in `block (6 levels) in <top (required)>'.. Called from /builds/gitlab-org/gitlab/spec/requests/projects/merge_requests_discussions_spec.rb:72:in `block (6 levels) in <top (required)>'.5533 does not hit a warm cache5534API::Internal::Kubernetes5535 POST /internal/kubernetes/usage_metrics5536 returns correct error for the endpoint5537 not authenticated5538 returns 4015539 kubernetes_agent_internal_api feature flag disabled5540 returns 4045541 is authenticated for an agent5542 returns no_content for valid events5543 returns no_content for counts of zero5544 returns 400 for non counter number5545 returns 400 for non unique_counter set5546 tracks events and unique events5547 POST /internal/kubernetes/agent_configuration5548 returns correct error for the endpoint5549 not authenticated5550 returns 4015551 kubernetes_agent_internal_api feature flag disabled5552 returns 4045553 agent exists5554 configures the agent and returns a 2045555 agent does not exist5556 returns a 4045557 GET /internal/kubernetes/agent_info5558 returns 401 if Authorization header not sent5559 returns 401 if Authorization is for non-existent agent5560 returns correct error for the endpoint5561 not authenticated5562 returns 4015563 kubernetes_agent_internal_api feature flag disabled5564 returns 4045565 an agent is found5566 tracks token usage5567 returns expected data5568 GET /internal/kubernetes/project_info5569 returns 401 if Authorization header not sent5570 returns 401 if Authorization is for non-existent agent5571 returns correct error for the endpoint5572 not authenticated5573 returns 4015574 kubernetes_agent_internal_api feature flag disabled5575 returns 4045576 an agent is found5577 tracks token usage5578 project is public5579 returns expected data5580 repository is for project members only5581 returns 4045582 project is private5583 returns 4045584 and agent belongs to project5585 returns 2005586 project is internal5587 returns 4045588 project does not exist5589 returns 4045590 GET /internal/kubernetes/verify_project_access5591 returns 401 if Authorization header not sent5592 returns 401 if Authorization is for non-existent agent5593 returns correct error for the endpoint5594 not authenticated5595 returns 4015596 kubernetes_agent_internal_api feature flag disabled5597 returns 4045598 an agent is found5599 tracks token usage5600 project is public5601 behaves like access is granted5602 returns success response5603 repository is for project members only5604 behaves like access is denied5605 returns 4045606 project is private5607 behaves like access is denied5608 returns 4045609 and agent belongs to project5610 behaves like access is granted5611 returns success response5612 project is internal5613 behaves like access is denied5614 returns 4045615 and agent belongs to project5616 behaves like access is granted5617 returns success response5618 project does not exist5619 behaves like access is denied5620 returns 4045621 POST /internal/kubernetes/authorize_proxy_user5622 returns 400 when cookie is invalid5623 returns 401 when session is not found5624 returns 401 when CSRF token does not match5625 returns 404 for non-existent agent5626 returns 403 when user has no access5627 returns 200 when user has access5628 returns 401 when user has valid KAS cookie and CSRF token but has no access to requested agent5629 returns 401 when user id is not found in session5630API::DeployTokens5631 GET /deploy_tokens5632 behaves like GET request permissions for admin mode5633 behaves like when admin5634 behaves like makes request5635 returns5636 behaves like makes request5637 returns5638 behaves like when user5639 returns5640 behaves like makes request5641 returns5642 when unauthenticated5643 is expected to respond with numeric status code unauthorized5644 when authenticated as admin5645 returns all deploy tokens5646 and active=true5647 only returns active deploy tokens5648 GET /projects/:id/deploy_tokens5649 when unauthenticated5650 is expected to respond with numeric status code not_found5651 when authenticated as non-admin user5652 is expected to respond with numeric status code forbidden5653 when authenticated as maintainer5654 is expected to respond with numeric status code ok5655 returns all deploy tokens for the project5656 does not return deploy tokens for other projects5657 and active=true5658 only returns active deploy tokens for the project5659 GET /projects/:id/deploy_tokens/:token_id5660 when unauthenticated5661 is expected to respond with numeric status code not_found5662 when authenticated as non-admin user5663 is expected to respond with numeric status code forbidden5664 when authenticated as maintainer5665 is expected to respond with numeric status code ok5666 returns specific deploy token for the project5667 invalid request5668 returns not found with invalid project id5669 returns not found with invalid token id5670 GET /groups/:id/deploy_tokens5671 when unauthenticated5672 is expected to respond with numeric status code forbidden5673 when authenticated as non-admin user5674 is expected to respond with numeric status code forbidden5675 when authenticated as maintainer5676 is expected to respond with numeric status code ok5677 returns all deploy tokens for the group5678 does not return deploy tokens for other groups5679 and active=true5680 only returns active deploy tokens for the group5681 GET /groups/:id/deploy_tokens/:token_id5682 when unauthenticated5683 is expected to respond with numeric status code forbidden5684 when authenticated as non-admin user5685 is expected to respond with numeric status code forbidden5686 when authenticated as maintainer5687 is expected to respond with numeric status code ok5688 returns specific deploy token for the group5689 invalid request5690 returns not found with invalid group id5691 returns not found with invalid token id5692 DELETE /projects/:id/deploy_tokens/:token_id5693 when unauthenticated5694 is expected to respond with numeric status code not_found5695 when authenticated as non-admin user5696 is expected to respond with numeric status code forbidden5697 when authenticated as maintainer5698 is expected to respond with numeric status code no_content5699 calls the deploy token destroy service5700 invalid request5701 returns not found with invalid group id5702 returns bad_request with invalid token id5703 deploy token creation5704 POST /projects/:id/deploy_tokens5705 behaves like creating a deploy token5706 when unauthenticated5707 is expected to respond with numeric status code not_found5708 when authenticated as non-admin user5709 is expected to respond with numeric status code forbidden5710 when authenticated as maintainer5711 creates the deploy token5712 with no optional params given5713 creates the deploy token with default values5714 with an invalid scope5715 is expected to respond with numeric status code bad_request5716 with an invalid expires_at date5717 is expected to respond with numeric status code bad_request5718 POST /groups/:id/deploy_tokens5719 behaves like creating a deploy token5720 when unauthenticated5721 is expected to respond with numeric status code forbidden5722 when authenticated as non-admin user5723 is expected to respond with numeric status code forbidden5724 when authenticated as owner5725 creates the deploy token5726 with no optional params given5727 creates the deploy token with default values5728 with an invalid scope5729 is expected to respond with numeric status code bad_request5730 with an invalid expires_at date5731 is expected to respond with numeric status code bad_request5732 when authenticated as maintainer5733 is expected to respond with numeric status code forbidden5734 DELETE /groups/:id/deploy_tokens/:token_id5735 when unauthenticated5736 is expected to respond with numeric status code forbidden5737 when authenticated as non-admin user5738 is expected to respond with numeric status code forbidden5739 when authenticated as maintainer5740 is expected to respond with numeric status code forbidden5741 when authenticated as owner5742 calls the deploy token destroy service5743 invalid request5744 returns bad request with invalid group id5745 returns not found with invalid deploy token id5746Adding a DiffNote5747 behaves like a Note mutation when the user does not have permission5748 behaves like a Note mutation that does not create a Note5749 is expected not to change `Note.count`5750 behaves like a mutation that returns top-level errors5751 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"5752 when the user has permission5753 returns the note with the correct position5754 behaves like a Note mutation that creates a Note5755 is expected to change `Note.count` by 15756 add comment to old line5757 behaves like a Note mutation that creates a Note5758 is expected to change `Note.count` by 15759 add a comment with a position without lines5760 behaves like a Note mutation that does not create a Note5761 is expected not to change `Note.count`5762 behaves like a Note mutation when there are active record validation errors5763 returns an empty Note5764 behaves like a Note mutation that does not create a Note5765 is expected not to change `Note.count`5766 behaves like a mutation that returns errors in the response5767 is expected to contain exactly "Error 1" and "Error 2"5768 behaves like a Note mutation when there are rate limit validation errors5769 with rate limiter5770 behaves like a Note mutation that does not create a Note5771 is expected not to change `Note.count`5772 behaves like a mutation that returns top-level errors5773 is expected to contain exactly "This endpoint has been requested too many times. Try again later."5774 when the user is in the allowlist5775 behaves like a Note mutation that creates a Note5776 is expected to change `Note.count` by 15778 behaves like a Note mutation when the given resource id is not for a Noteable5779 behaves like a Note mutation that does not create a Note5780 is expected not to change `Note.count`5781 behaves like a mutation that returns top-level errors5782 is expected to include / does not represent an instance of Noteable/5783 with /merge quick action5784 merges the merge request5785Projects::UploadsController5786 behaves like handle uploads5787 behaves like handle uploads authorize5788 POST #authorize5789 when a user is not authorized to upload a file5790 returns 404 status5791 when id is not passed as a param5792 returns 404 status5793 when a user can upload a file5794 and the request bypassed workhorse5795 raises an exception5796 and request is sent by gitlab-workhorse to authorize the request5797 when using local storage5798 behaves like a local file5799 behaves like a valid response5800 responds with status 2005801 uses the gitlab-workhorse content type5802 responds with status 200, location of uploads store and object details5803 when using remote storage5804 when direct upload is enabled5805 behaves like a valid response5806 responds with status 2005807 uses the gitlab-workhorse content type5808 responds with status 200, location of uploads remote store and object details5809 when direct upload is disabled5810 behaves like a local file5811 behaves like a valid response5812 responds with status 2005813 uses the gitlab-workhorse content type5814 responds with status 200, location of uploads store and object details5815 POST #create5816 when a user is not authorized to upload a file5817 returns 404 status5818 when a user can upload a file5819 without params['file']5820 returns an error5821 with valid image5822 returns a content with original filename, new link, and correct type.5823 creates a corresponding Upload record5824 with valid non-image file5825 returns a content with original filename, new link, and correct type.5826 GET #show5827 when the secret is invalid5828 responds with status 4045829 when accessing a specific upload via different model5830 responds with status 4045831 when the upload does not have a MIME type that Rails knows5832 falls back to the null type5833 when the model is public5834 when not signed in5835 when the file exists5836 responds with status 2005837 when neither the uploader nor the model exists5838 responds with status 4045839 when the file doesn't exist5840 responds with status 4045841 when signed in5842 when the file exists5843 responds with status 2005844 when the file doesn't exist5845 responds with status 4045846 when the model is private5847 when not signed in5848 when the file exists5849 when the file is an image5850 responds with the appropriate status code5851 when the file is not an image5852 redirects to the sign in page5853 when the file doesn't exist5854 redirects to the sign in page5855 when signed in5856 when the user has access to the project5857 when the file exists5858 responds with status 2005859 when the file doesn't exist5860 responds with status 4045861 when the user doesn't have access to the model5862 when the file exists5863 when the file is an image5864 responds with the appropriate status code5865 when the file is not an image5866 responds with status 4045867 when the file doesn't exist5868 responds with status 4045869 when the URL the old style, without /-/system5870 responds with a redirect to the login page5871 with a moved project5872 redirects to a file with the proper extension5873 when exception occurs5874 responds with status internal_server_error5875 GET #show5876 when project is private do5877 when not signed in5878 when the project has setting enforce_auth_checks_on_uploads true5879 responds with status 3025880 when the project has setting enforce_auth_checks_on_uploads false5881 responds with status 2005882 when signed in5883 when the user doesn't have access to the model5884 when the project has setting enforce_auth_checks_on_uploads true5885 responds with status 4045886 when the project has setting enforce_auth_checks_on_uploads false5887 responds with status 2005888 when project is public5889 when not signed in5890 when the project has setting enforce_auth_checks_on_uploads true5891 responds with status 2005892 when the project has setting enforce_auth_checks_on_uploads false5893 responds with status 2005894 when signed in5895 when the user doesn't have access to the model5896 when the project has setting enforce_auth_checks_on_uploads true5897 responds with status 2005898 when the project has setting enforce_auth_checks_on_uploads false5899 responds with status 2005900getting a work item list for a project5901 returns only items visible to user5902 N + 1 queries5903 when querying root fields5904 behaves like work items resolver without N + 1 queries5905 avoids N+1 queries5906 when querying the widget interface5907 behaves like work items resolver without N + 1 queries5908 avoids N+1 queries5909 when querying WorkItemWidgetHierarchy5910 executes limited number of N+1 queries5911 avoids N+1 queries when children are added to a work item5912 with ordered children5913 returns children ordered by created_at by default5914 when ordered by relative position5915 returns children in correct order5916 behaves like a working graphql query5917 returns a successful response5918 when the user does not have access to the item5919 returns an empty list5920 when the user can see confidential items5921 returns also confidential items5922 when filtering by search5923 behaves like query with a search term5924 returns only matching issuables5925 when filtering by author username5926 returns correct results5927 sorting and pagination5928 when sorting by title ascending5929 behaves like sorted paginated query5930 behaves like requires variables5931 shared example requires variables to be set5933 when sorting5934 sorts correctly5935 when paginating5936 paginates correctly5937 when sorting by title descending5938 behaves like sorted paginated query5939 behaves like requires variables5940 shared example requires variables to be set5942 when sorting5943 sorts correctly5944 when paginating5945 paginates correctly5946 when fetching work item notifications widget5947 executes limited number of N+1 queries5948 when fetching work item award emoji widget5949 executes limited number of N+1 queries5950 when fetching work item linked items widget5951 executes limited number of N+1 queries5952API::Topics5953 GET /topics5954 returns topics ordered by total_projects_count5955 with without_projects5956 returns topics without assigned projects5957 returns topics without assigned projects5958 with search5959 search: "", result: ["other-topic", "GitLab", "Git"]5960 returns filtered topics5961 search: "g", result: []5962 returns filtered topics5963 search: "gi", result: []5964 returns filtered topics5965 search: "git", result: ["Git", "GitLab"]5966 returns filtered topics5967 search: "x", result: []5968 returns filtered topics5969 search: 0, result: []5970 returns filtered topics5971 with pagination5972 params: {:page=>0}, result: ["other-topic", "GitLab", "Git"]5973 returns paginated topics5974 params: {:page=>1}, result: ["other-topic", "GitLab", "Git"]5975 returns paginated topics5976 params: {:page=>2}, result: []5977 returns paginated topics5978 params: {:per_page=>1}, result: ["other-topic"]5979 returns paginated topics5980 params: {:per_page=>2}, result: ["other-topic", "GitLab"]5981 returns paginated topics5982 params: {:per_page=>3}, result: ["other-topic", "GitLab", "Git"]5983 returns paginated topics5984 params: {:page=>0, :per_page=>1}, result: ["other-topic"]5985 returns paginated topics5986 params: {:page=>0, :per_page=>2}, result: ["other-topic", "GitLab"]5987 returns paginated topics5988 params: {:page=>1, :per_page=>1}, result: ["other-topic"]5989 returns paginated topics5990 params: {:page=>1, :per_page=>2}, result: ["other-topic", "GitLab"]5991 returns paginated topics5992 params: {:page=>2, :per_page=>1}, result: ["GitLab"]5993 returns paginated topics5994 params: {:page=>2, :per_page=>2}, result: ["Git"]5995 returns paginated topics5996 params: {:page=>3, :per_page=>1}, result: ["Git"]5997 returns paginated topics5998 params: {:page=>3, :per_page=>2}, result: []5999 returns paginated topics6000 params: {:page=>4, :per_page=>1}, result: []6001 returns paginated topics6002 params: {:page=>4, :per_page=>2}, result: []6003 returns paginated topics6004 GET /topic/:id6005 returns topic6006 returns 404 for non existing id6007 returns 400 for invalid `id` parameter6008 POST /topics6009 behaves like POST request permissions for admin mode6010 behaves like when admin6011 behaves like makes request6012 returns6013 behaves like makes request6014 returns6015 behaves like when user6016 returns6017 behaves like makes request6018 returns6019 as administrator6020 creates a topic6021 creates a topic with avatar and description6022 returns 400 if name is missing6023 returns 400 if name is not unique (case insensitive)6024 returns 400 if title is missing6025 as normal user6026 returns 403 Forbidden6027 as anonymous6028 returns 401 Unauthorized6029 PUT /topics6030 behaves like PUT request permissions for admin mode6031 behaves like when admin6032 behaves like makes request6033 returns6034 behaves like makes request6035 returns6036 behaves like when user6037 returns6038 behaves like makes request6039 returns6040 as administrator6041 updates a topic6042 updates a topic with avatar and description6043 keeps avatar when updating other fields6044 returns 404 for non existing id6045 returns 400 for invalid `id` parameter6046 with blank avatar6047 removes avatar6048 removes avatar besides other changes6049 does not remove avatar in case of other errors6050 as normal user6051 returns 403 Forbidden6052 as anonymous6053 returns 401 Unauthorized6054 DELETE /topics/:id6055 as administrator6056 deletes a topic with admin mode6057 deletes a topic without admin mode6058 returns 404 for non existing id6059 returns 400 for invalid `id` parameter6060 as normal user6061 returns 403 Forbidden6062 as anonymous6063 returns 401 Unauthorized6064 POST /topics/merge6065 behaves like POST request permissions for admin mode6066 behaves like when admin6067 behaves like makes request6068 returns6069 behaves like makes request6070 returns6071 behaves like when user6072 returns6073 behaves like makes request6074 returns6075 as administrator6076 merge topics6077 returns 404 for non existing source topic id6078 returns 404 for non existing target topic id6079 returns 400 for identical topic ids6080 returns 400 if merge failed6081 as normal user6082 returns 403 Forbidden6083 as anonymous6084 returns 401 Unauthorized6085GraphqlController6086 rescue_from6087 handles ArgumentError6088 handles a timeout nicely6089 handles StandardError6090 handles Gitlab::Auth::TooManyIps6091 handles Gitlab::Git::ResourceExhaustedError6092 POST #execute6093 includes request object in context6094 sets `context[:remove_deprecated]` to false by default6095 sets `context[:remove_deprecated]` to true when `remove_deprecated` param is truthy6096 when user is logged in6097 sets feature category in ApplicationContext from request6098 returns 200 when user can access API6099 executes a simple query with no errors6100 executes a simple multiplexed query with no errors6101 executes a multiplexed queries with variables with no errors6102 does not allow string as _json parameter (a malformed multiplex query)6103 sets a limit on the total query size6104 sets a limit on the total query size for multiplex queries6105 returns forbidden when user cannot access API6106 updates the users last_activity_on field6107 sets context's sessionless value as false6108 calls the track api when trackable method6109 calls the track jetbrains api when trackable method6110 calls the track jetbrains bundled third party api when trackable method6111 calls the track visual studio extension api when trackable method6112 calls the track neovim plugin api when trackable method6113 assigns username in ApplicationContext6114 if using the GitLab CLI6115 call trackable for the old UserAgent6116 call trackable for the current UserAgent6117 when 2FA is required for the user6118 does not redirect if 2FA is enabled6119 when user uses an API token6120 updates the users last_activity_on field6121 sets context's sessionless value as true6122 assigns username in ApplicationContext6123 calls the track api when trackable method6124 calls the track jetbrains api when trackable method6125 calls the track jetbrains bundled third party api when trackable method6126 calls the track visual studio extension api when trackable method6127 calls the track neovim plugin api when trackable method6128 calls the track gitlab cli when trackable method6129 when the user is a project bot6130 updates the users last_activity_on field6131 sets context's sessionless value as true6132 executes a simple query with no errors6133 can access resources the project_bot has access to6134 when user is not logged in6135 returns 2006136 sets context's sessionless value as false6137 does not assign a username in ApplicationContext6138 when querying an IntrospectionQuery6139 caches IntrospectionQuery even when operationName is not given6140 caches the IntrospectionQuery6141 caches separately for both remove_deprecated set to true and false6142 has a different cache for each Gitlab.revision6143 hits the cache even if the whitespace in the query differs6144 fails if the GraphiQL gem version is not 1.8.06145 when there is an unknown introspection query6146 does not cache an unknown introspection query6147 Admin Mode6148 when admin mode enabled6149 can query project data6150 when admin mode disabled6151 cannot query project data6152 when admin is member of the project6153 can query project data6154 #append_info_to_payload6155 appends metadata for logging6156 appends the exception in case of errors6157getting Alert Management Alerts6158 with alert data6159 without project permissions6160 is expected to equal nil6161 behaves like a working graphql query6162 returns a successful response6163 with project permissions6164 is expected to eq 26165 returns the correct properties of the alerts6166 behaves like a working graphql query6167 returns a successful response6168 with iid given6169 is expected to eq 16170 is expected to eq "1"6171 behaves like a working graphql query6172 returns a successful response6173 with statuses given6174 is expected to eq 16175 is expected to eq "2"6176 behaves like a working graphql query6177 returns a successful response6178 sorting data given6179 sorts in the correct order6180 behaves like a working graphql query6181 returns a successful response6182 ascending order6183 sorts in the correct order6184 searching6185 is expected to eq 16186 is expected to eq "1"6187 behaves like a working graphql query6188 returns a successful response6189 unknown criteria6190 is expected to eq 06191 assignee_username6192 is expected to eq "2"6193 behaves like a working graphql query6194 returns a successful response6195API::Unleash6196 GET /feature_flags/unleash/:project_id/client/features6197 is expected to have request urgency :medium6198 GET /feature_flags/unleash/:project_id/features6199 behaves like authenticated request6200 when using instance id6201 responds with OK6202 when repository is disabled6203 responds with forbidden6204 when repository is private6205 responds with OK6206 when using header6207 responds with OK6208 when using bogus instance id6209 responds with unauthorized6210 when using not existing project6211 responds with unauthorized6212 when a client fetches feature flags several times6213 serializes feature flags for the first time and read cached data from the second time6214 increments the cache key when feature flags are modified6215 with version 2 feature flags6216 does not return a flag without any strategies6217 returns a flag with a default strategy6218 returns a flag with a userWithId strategy6219 returns a flag with multiple strategies6220 returns only flags matching the environment scope6221 returns only strategies matching the environment scope6222 returns only flags for the given project6223 returns all strategies with a matching scope6224 returns a strategy with more than one matching scope6225 returns a disabled flag with a matching scope6226 returns a userWithId strategy for a gitlabUserList strategy6227 GET /feature_flags/unleash/:project_id/client/features6228 behaves like authenticated request6229 when using instance id6230 responds with OK6231 when repository is disabled6232 responds with forbidden6233 when repository is private6234 responds with OK6235 when using header6236 responds with OK6237 when using bogus instance id6238 responds with unauthorized6239 when using not existing project6240 responds with unauthorized6241 when a client fetches feature flags several times6242 serializes feature flags for the first time and read cached data from the second time6243 increments the cache key when feature flags are modified6244 with version 2 feature flags6245 does not return a flag without any strategies6246 returns a flag with a default strategy6247 returns a flag with a userWithId strategy6248 returns a flag with multiple strategies6249 returns only flags matching the environment scope6250 returns only strategies matching the environment scope6251 returns only flags for the given project6252 returns all strategies with a matching scope6253 returns a strategy with more than one matching scope6254 returns a disabled flag with a matching scope6255 returns a userWithId strategy for a gitlabUserList strategy6256 POST /feature_flags/unleash/:project_id/client/register6257 behaves like authenticated request6258 when using instance id6259 responds with OK6260 when repository is disabled6261 responds with forbidden6262 when repository is private6263 responds with OK6264 when using header6265 responds with OK6266 when using bogus instance id6267 responds with unauthorized6268 when using not existing project6269 responds with unauthorized6270 POST /feature_flags/unleash/:project_id/client/metrics6271 behaves like authenticated request6272 when using instance id6273 responds with OK6274 when repository is disabled6275 responds with forbidden6276 when repository is private6277 responds with OK6278 when using header6279 responds with OK6280 when using bogus instance id6281 responds with unauthorized6282 when using not existing project6283 responds with unauthorized6284API::ProtectedBranches6285 GET /projects/:id/protected_branches6286 when authenticated as a maintainer6287 when search param is not present6288 behaves like protected branches6289 returns the protected branches6290 when search param is present6291 behaves like protected branches6292 returns the protected branches6293 when authenticated as a developer6294 behaves like protected branches6295 returns the protected branches6296 when authenticated as a guest6297 behaves like 403 response6298 returns 4036299 GET /projects/:id/protected_branches/:branch6300 when authenticated as a maintainer6301 behaves like protected branch6302 returns the protected branch6303 when protected branch does not exist6304 behaves like 404 response6305 returns 4046306 when protected branch contains a wildcard6307 behaves like protected branch6308 returns the protected branch6309 when protected branch does not exist6310 behaves like 404 response6311 returns 4046312 when protected branch contains a period6313 behaves like protected branch6314 returns the protected branch6315 when protected branch does not exist6316 behaves like 404 response6317 returns 4046318 when a deploy key is present6319 returns deploy key information6320 when a deploy key is not present6321 returns null deploy key field6322 when authenticated as a developer6323 behaves like protected branch6324 returns the protected branch6325 when protected branch does not exist6326 behaves like 404 response6327 returns 4046328 when authenticated as a guest6329 behaves like 403 response6330 returns 4036331 POST /projects/:id/protected_branches6332 when authenticated as a maintainer6333 protects a single branch6334 protects a single branch and developers can push6335 protects a single branch and developers can merge6336 protects a single branch and developers can push and merge6337 protects a single branch and no one can push6338 protects a single branch and no one can merge6339 protects a single branch and no one can push or merge6340 protects a single branch and allows force pushes6341 returns a 409 error if the same branch is protected twice6342 when branch has a wildcard in its name6343 protects multiple branches with a wildcard in the name6344 when a policy restricts rule creation6345 prevents creations of the protected branch rule6346 when authenticated as a developer6347 returns a 403 error6348 when authenticated as a guest6349 returns a 403 error6350 PATCH /projects/:id/protected_branches/:name6351 when authenticated as a maintainer6352 updates a single branch6353 when allow_force_push is not set6354 responds with a bad request error6355 when returned protected branch is invalid6356 returns a 4226357 when authenticated as a developer6358 returns a 403 error6359 when authenticated as a guest6360 returns a 403 error6361 DELETE /projects/:id/protected_branches/unprotect/:branch6362 when authenticated as a maintainer6363 unprotects a single branch6364 returns 404 if branch does not exist6365 behaves like 412 response6366 for a modified resource6367 returns 412 with a JSON error6368 for an unmodified resource6369 returns 204 with an empty body6370 when a policy restricts rule deletion6371 prevents deletion of the protected branch rule6372 when branch has a wildcard in its name6373 unprotects a wildcard branch6374 when authenticated as a developer6375 returns a 403 error6376 when authenticated as a guest6377 returns a 403 error6378maven package details6379 a maven package with version6380 behaves like a package detail6381 behaves like a working graphql query6382 returns a successful response6383 behaves like matching the package details schema6384 matches the JSON schema6385 with pipelines6386 behaves like a working graphql query6387 returns a successful response6388 behaves like matching the package details schema6389 matches the JSON schema6390 behaves like correct maven metadata6391 has the correct metadata6392 behaves like a package with files6393 has the right amount of files6394 has the basic package files data6395 with package files pending destruction6396 does not return them6397 a versionless maven package6398 has an empty version6399 behaves like a package detail6400 behaves like a working graphql query6401 returns a successful response6402 behaves like matching the package details schema6403 matches the JSON schema6404 with pipelines6405 behaves like a working graphql query6406 returns a successful response6407 behaves like matching the package details schema6408 matches the JSON schema6409 behaves like correct maven metadata6410 has the correct metadata6411 behaves like a package with files6412 has the right amount of files6413 has the basic package files data6414 with package files pending destruction6415 does not return them6416API::GroupBoards6417 behaves like group and project boards6418 avoids N+1 queries6419 GET /groups/:id/boards6420 when unauthenticated6421 returns authentication error6422 when authenticated6423 returns the issue boards6424 GET /groups/:id/boards/:board_id6425 get a single board by id6426 PUT /groups/:id/boards/:board_id6427 updates the board name6428 updates the issue board booleans6429 GET /groups/:id/boards/:board_id/lists6430 returns issue board lists6431 returns 404 if board not found6432 GET /groups/:id/boards/:board_id/lists/:list_id6433 returns a list6434 returns 404 if list not found6435 POST /groups/:id/boards/lists6436 creates a new issue board list for labels6437 returns 400 when creating a new list if label_id is invalid6438 returns 403 for members with guest role6439 PUT /groups/:id/boards/:board_id/lists/:list_id to update only position6440 updates a list6441 returns 404 error if list id not found6442 returns 403 for members with guest role6443 DELETE /groups/:id/boards/lists/:list_id6444 rejects a non member from deleting a list6445 rejects a user with guest role from deleting a list6446 returns 404 error if list id not found6447 when the user is parent owner6448 deletes the list if an admin requests it6449 behaves like 412 response6450 for a modified resource6451 returns 412 with a JSON error6452 for an unmodified resource6453 returns 204 with an empty body6454 POST /groups/:id/boards/lists6455 does not create lists for child project labels6456API::MergeRequestApprovals6457 GET :id/merge_requests/:merge_request_iid/approvals6458 retrieves the approval status6459 when merge request author has only guest access6460 behaves like rejects user from accessing merge request info6461 returns a 403 error6462 POST :id/merge_requests/:merge_request_iid/approve6463 as a valid approver6464 when the sha param is not set6465 approves the merge request6466 when the sha param is correct6467 approves the merge request6468 when the sha param is incorrect6469 does not approve the merge request6470 POST :id/merge_requests/:merge_request_iid/unapprove6471 as a user who has approved the merge request6472 unapproves the merge request6473 PUT :id/merge_requests/:merge_request_iid/reset_approvals6474 for a bot user6475 clears approvals of the merge_request6476 when bot user approved the merge request6477 clears approvals of the merge_request6478 for users with non-bot roles6479 returns 4016480 returns 4016481 returns 4016482 returns 4016483 for bot-users from external namespaces6484 for external group bot-user6485 returns 4016486 for external project bot-user6487 returns 4016488Dashboard::MilestonesController6489 #index6490 returns group and project milestones to which the user belongs6491 returns closed group and project milestones to which the user belongs6492 searches legacy project milestones by title when search_title is given6493 searches group milestones by title when search_title is given6494 shows counts of open/closed/all group and project milestones to which the user belongs to6495 external authorization6496 behaves like disabled when using an external authorization service6497 works when the feature is not enabled6498 renders a 404 with a message when the feature is enabled6499getting container repositories in a group6500 returns the total count of container repositories6501 behaves like a working graphql query6502 returns a successful response6503 with different permissions6504 group_visibility: :private, role: :maintainer, access_granted: true, can_delete: true6505 return the proper response6506 group_visibility: :private, role: :developer, access_granted: true, can_delete: true6507 return the proper response6508 group_visibility: :private, role: :reporter, access_granted: true, can_delete: false6509 return the proper response6510 group_visibility: :private, role: :guest, access_granted: false, can_delete: false6511 return the proper response6512 group_visibility: :private, role: :anonymous, access_granted: false, can_delete: false6513 return the proper response6514 group_visibility: :public, role: :maintainer, access_granted: true, can_delete: true6515 return the proper response6516 group_visibility: :public, role: :developer, access_granted: true, can_delete: true6517 return the proper response6518 group_visibility: :public, role: :reporter, access_granted: true, can_delete: false6519 return the proper response6520 group_visibility: :public, role: :guest, access_granted: false, can_delete: false6521 return the proper response6522 group_visibility: :public, role: :anonymous, access_granted: false, can_delete: false6523 return the proper response6524 limiting the number of repositories6525 only returns N repositories6526 filter by name6527 returns the searched container repository6528 behaves like handling graphql network errors with the container registry6529 returns a connection error6530 behaves like not hitting graphql network errors with the container registry6531 does not return any error6532ProductAnalyticsTracking6533 .track_internal_event6534 when user is logged in6535 tracks the events if DNT is disabled6536 does not track the event if DNT is enabled6537 does not track the event if the format is not HTML6538 does not track the event if a custom condition returns false6539 when user is not logged in6540 tracks the event when there is a visitor id6541 and there is no visitor_id6542 does not track the event6543 when there is no custom_id set6544 does not track6545 .track_event6546 when user is logged in6547 tracks the event6548 tracks the event if DNT is not enabled6549 does not track the event if DNT is enabled6550 does not track the event if the format is not HTML6551 does not track the event if a custom condition returns false6552 does not track the event for untracked actions6553 when user is not logged in6554 tracks the event when there is a visitor id6555 when user is not logged in and there is no visitor_id6556 does not track the event6557 tracks the event when there is custom id6558 when there is no custom_id set6559 does not track the HLL event6560 tracks Snowplow event6561Destroying a Snippet6562 PersonalSnippet6563 behaves like graphql delete actions6564 when the user does not have permission6565 does not destroy the Snippet6566 behaves like a mutation that returns top-level errors6567 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"6568 when the user has permission6569 destroys the Snippet6570 returns an empty Snippet6571 when a bad gid is given6572 returns an error6573 does not destroy the Snippet6574 does not destroy the Project6575 behaves like when the snippet is not found6576 behaves like a mutation that returns top-level errors6577 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"6578 ProjectSnippet6579 when the author is not a member of the project6580 returns an an error6581 when the author is a member of the project6582 behaves like graphql delete actions6583 when the user does not have permission6584 does not destroy the Snippet6585 behaves like a mutation that returns top-level errors6586 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"6587 when the user has permission6588 destroys the Snippet6589 returns an empty Snippet6590 when a bad gid is given6591 returns an error6592 does not destroy the Snippet6593 does not destroy the Project6594 when the snippet project feature is disabled6595 returns an an error6596 behaves like when the snippet is not found6597 behaves like a mutation that returns top-level errors6598 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"6599Query.project(fullPath).issue(iid)6600 .designCollection6601 .design6602 behaves like being able to fetch a design-like object by ID6603 the ID is passed6604 retrieves the object6605 the user is unauthorized6606 behaves like a failure to find anything6607 finds nothing6608 without parameters6609 raises an error6610 attempting to retrieve an object from a different issue6611 behaves like a failure to find anything6612 finds nothing6613 behaves like being able to fetch a design-like object by ID6614 the ID is passed6615 retrieves the object6616 the user is unauthorized6617 behaves like a failure to find anything6618 finds nothing6619 without parameters6620 raises an error6621 attempting to retrieve an object from a different issue6622 behaves like a failure to find anything6623 finds nothing6624 .version6625 no parameters6626 raises an error6627 (sha: STRING_TYPE)6628 behaves like a successful query for a version6629 finds the version6630 (id: ID_TYPE)6631 behaves like a successful query for a version6632 finds the version6633 .designAtVersion6634 behaves like being able to fetch a design-like object by ID6635 the ID is passed6636DEPRECATION WARNING: using BatchLoader.for in GraphQL is deprecated. Use BatchLoader::GraphQL.for instead or return BatchLoader::GraphQL.wrap from your resolver.6637 retrieves the object6638 the user is unauthorized6639 behaves like a failure to find anything6640 finds nothing6641 without parameters6642 raises an error6643 attempting to retrieve an object from a different issue6644 behaves like a failure to find anything6645 finds nothing6646Destroying a container repository6647 post graphql mutation6648 with valid id6649 user_role: :maintainer, shared_examples_name: "destroying the container repository"6650 behaves like destroying the container repository6651 marks the container repository as delete_scheduled6652 behaves like returning response status6653 returns success6654 user_role: :developer, shared_examples_name: "destroying the container repository"6655 behaves like destroying the container repository6656 marks the container repository as delete_scheduled6657 behaves like returning response status6658 returns success6659 user_role: :reporter, shared_examples_name: "denying the mutation request"6660 behaves like denying the mutation request6661 does not destroy the container repository6662 behaves like returning response status6663 returns success6664 user_role: :guest, shared_examples_name: "denying the mutation request"6665 behaves like denying the mutation request6666 does not destroy the container repository6667 behaves like returning response status6668 returns success6669 user_role: :anonymous, shared_examples_name: "denying the mutation request"6670 behaves like denying the mutation request6671 does not destroy the container repository6672 behaves like returning response status6673 returns success6674 with invalid id6675 behaves like denying the mutation request6676 does not destroy the container repository6677 behaves like returning response status6678 returns success6679InvitesController6680 GET #show6681 when logged in6682 behaves like invite email match enforcement6683 accepts user if invite email matches signed in user6684 accepts invite if invite email matches confirmed secondary email6685 does not accept if invite email matches unconfirmed secondary email6686 does not accept if invite email does not match signed in user6687 behaves like invalid token6688 when invite token is not valid6689 redirects to root6690 when it is an initial invite email6691 tracks the initial join click from email6692 when member does not exist6693 does not track join click6694 when it is not an initial email6695 does not track the join click6696 when not logged in6697 when invite token belongs to a valid member6698 when instance allows sign up6699 indicates an account can be created in notice6700 when user exists with the invited email6701 is redirected to a new session with invite email param6702 when user exists with the invited email as secondary email6703 when secondary email is confirmed6704 is redirected to a new session with invite email param6705 when secondary email is unconfirmed6706 is redirected to a new registration with invite email param and flash message6707 when user does not exist with the invited email6708 indicates an account can be created in notice6709 is redirected to a new registration with invite email param and flash message6710 sets session keys for auto email confirmation on sign up6711 with stored location for user6712 stores the correct path for user6713 with relative root6714 stores the correct path for user6715 when it is part of our invite email experiment6716 sets session key for invite acceptance tracking on sign-up6717 when it is not part of our invite email experiment6718 does not set the session key for invite acceptance tracking on sign-up6719 when instance does not allow sign up6720 does not indicate an account can be created in notice6721 when user exists with the invited email6722 is redirected to a new session with invite email param6723 when user does not exist with the invited email6724 is redirected to a new session with invite email param6725 when invite token does not belong to a valid member6726 is redirected to a new session6727 POST #accept6728 behaves like invite email match enforcement6729 accepts user if invite email matches signed in user6730 accepts invite if invite email matches confirmed secondary email6731 does not accept if invite email matches unconfirmed secondary email6732 does not accept if invite email does not match signed in user6733 behaves like invalid token6734 when invite token is not valid6735 redirects to root6736 POST #decline for link in UI6737 behaves like invalid token6738 when invite token is not valid6739 redirects to root6740 GET #decline for link in email6741 behaves like invalid token6742 when invite token is not valid6743 redirects to root6744User6745 when id parameter is used6746 behaves like a working user query6747 includes the user6748 returns no user when global restricted_visibility_levels includes PUBLIC6749 behaves like a working graphql query6750 returns a successful response6751 when username parameter is used6752 when username is identically cased6753 behaves like a working user query6754 includes the user6755 returns no user when global restricted_visibility_levels includes PUBLIC6756 behaves like a working graphql query6757 returns a successful response6758 when username is differently cased6759 behaves like a working user query6760 includes the user6761 returns no user when global restricted_visibility_levels includes PUBLIC6762 behaves like a working graphql query6763 returns a successful response6764 when username and id parameter are used6765 displays an error6766 email fields6767 with permission6768 returns the relevant email details6769 without permission6770 does not return email details6771Projects::GoogleCloud::DeploymentsController6772 Routes must be restricted behind Google OAuth26773 when a public request is made6774 returns not found on GET request6775 when unauthorized members make requests6776 returns not found on GET request6777 when authorized members make requests6778 redirects on GET request6779 Authorized GET project/-/google_cloud/deployments6780 renders template6781 Authorized GET project/-/google_cloud/deployments/cloud_run6782 when enable service fails6783 redirects to google cloud deployments and tracks event on enable service error6784 shows a flash alert6785 when enable service raises an error6786 redirects to google cloud deployments with error6787 shows a flash warning6788 GCP_PROJECT_IDs are defined6789 redirects to create merge request form6790 when generate pipeline service fails6791 redirects to google_cloud deployments and tracks event on generate pipeline error6792 shows a flash alert6793 Authorized GET project/-/google_cloud/deployments/cloud_storage6794 renders placeholder6795API::Markdown6796 POST /markdown6797 when not logged in6798 and authenticate_markdown_api turned on6799 responds with 401 Unathorized6800 and authenticate_markdown_api turned off6801 behaves like 400 Bad Request6802 responds with 400 Bad Request6803 when arguments are invalid6804 when text is missing6805 behaves like 400 Bad Request6806 responds with 400 Bad Request6807 when project is not found6808 behaves like 404 Project Not Found6809 responds with 404 Not Found6810 when arguments are valid6811 when personal access token has only read_api scope6812 behaves like rendered markdown text without GFM6813 renders markdown text6814 when not using gfm6815 without project6816 behaves like rendered markdown text without GFM6817 renders markdown text6818 with project6819 when not authorized6820 behaves like 404 Project Not Found6821 responds with 404 Not Found6822 when authorized6823 behaves like rendered markdown text without GFM6824 renders markdown text6825 when using gfm6826 without project6827 renders markdown text6828 with project6829 renders markdown text6830 with a public project and confidential issue6831 when not logged in6832 behaves like user without proper access6833 does not render the title or link6834 when logged in as user without access6835 behaves like user without proper access6836 does not render the title or link6837 when logged in as author6838 renders the title or link6839 with a public project and issues only for team members6840 when not logged in and authenticate_markdown_api turned off6841 behaves like user without proper access6842 does not render the title6843 when logged in as user without access6844 behaves like user without proper access6845 does not render the title6846 when logged in as author6847 renders the title or link6848Update a work item task6849 the user is not allowed to read a work item6850 behaves like a mutation that returns a top-level access error6851 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"6852 when user has permissions to update a work item6853 updates the work item and invalidates markdown cache on the original work item6854 when providing invalid task params6855 makes no changes to the DB and returns an error message6856 when user cannot update the task6857 behaves like a mutation that returns a top-level access error6858 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"6859 behaves like has spam protection6860 #check_spam_action_response!6861 when the object is spam (DISALLOW)6862 and no CAPTCHA is available6863 behaves like disallow response6864 informs the client that the request was denied as spam6865 and a CAPTCHA is required6866 behaves like disallow response6867 informs the client that the request was denied as spam6868 when the object is not spam (CONDITIONAL ALLOW)6869 and no CAPTCHA is required6870 does not return a top-level error6871 and a CAPTCHA is required6872 informs the client that the request may be retried after solving the CAPTCHA6873 when user does not have permissions to update a work item6874 behaves like a mutation that returns a top-level access error6875 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"6876Projects::FeatureFlagsUserListsController6877 GET #index6878 redirects when the user is unauthenticated6879 returns not found if the user does not belong to the project6880 returns not found for a reporter6881 renders the new page for a developer6882 GET #new6883 redirects when the user is unauthenticated6884 returns not found if the user does not belong to the project6885 returns not found for a reporter6886 renders the new page for a developer6887 GET #edit6888 renders the edit page for a developer6889 returns not found with an iid that does not exist6890 returns not found for a list belonging to a another project6891 GET #show6892 renders the page for a developer6893 returns not found with an iid that does not exist6894 returns not found for a list belonging to a another project6895Setting milestone of a merge request6896 returns an error if the user is not allowed to update the merge request6897 sets the merge request milestone6898 when passing milestone_id nil as input6899 removes the merge request milestone6900 when passing an invalid milestone_id6901 does not set the milestone6902Query current user todos6903 contains the expected ids6904 returns Todos for all target types6905 behaves like a working graphql query that returns data6906 contains data6907 behaves like a working graphql query6908 returns a successful response6909Mutations::Labels::Create6910 when creating a project label6911 behaves like labels create mutation6912 when the user does not have permission to create a label6913 does not create the label6914 behaves like a mutation that returns a top-level access error6915 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"6916 when the user has permission to create a label6917 when the parent (project_path or group_path) param is given6918 creates the label6919 does not create a label when there are errors6920 when creating a group label6921 behaves like labels create mutation6922 when the user does not have permission to create a label6923 does not create the label6924 behaves like a mutation that returns a top-level access error6925 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"6926 when the user has permission to create a label6927 when the parent (project_path or group_path) param is given6928 creates the label6929 does not create a label when there are errors6930 when neither project_path nor group_path param is given6931 does not create the label6932 behaves like a mutation that returns top-level errors6933 is expected to contain exactly "Exactly one of group_path or project_path arguments is required"6934Projects::Alerting::NotificationsController6935 POST #create6936 with generic alert payload6937 behaves like process alert payload6938 when notification service succeeds6939 responds with the alert data6940 does not pass excluded parameters to the notify service6941 when notification service fails6942 responds with the service response6943 with bearer token6944 when set6945 behaves like a working token6946 extracts token6947 with a corresponding integration6948 with integration parameters specified6949 the integration is active6950 extracts and finds the integration6951 when the integration is inactive6952 does not find an integration6953 without integration parameters specified6954 extracts and finds the legacy integration6955 with basic auth token6956 behaves like a working token6957 extracts token6958 with a corresponding integration6959 with integration parameters specified6960 the integration is active6961 extracts and finds the integration6962 when the integration is inactive6963 does not find an integration6964 without integration parameters specified6965 extracts and finds the legacy integration6966 when inextractable token6967 passes nil for a non-bearer token6968 when missing token6969 passes nil6970 with Prometheus alert payload6971 behaves like process alert payload6972 when notification service succeeds6973 responds with the alert data6974 does not pass excluded parameters to the notify service6975 when notification service fails6976 responds with the service response6977 with bearer token6978 when set6979 behaves like a working token6980 extracts token6981 with a corresponding integration6982 with integration parameters specified6983 the integration is active6984 extracts and finds the integration6985 when the integration is inactive6986 does not find an integration6987 without integration parameters specified6988 extracts and finds the legacy integration6989 with basic auth token6990 behaves like a working token6991 extracts token6992 with a corresponding integration6993 with integration parameters specified6994 the integration is active6995 extracts and finds the integration6996 when the integration is inactive6997 does not find an integration6998 without integration parameters specified6999 extracts and finds the legacy integration7000 when inextractable token7001 passes nil for a non-bearer token7002 when missing token7003 passes nil7004Projects::ProtectedBranchesController7005 GET #index7006 redirects to repository settings7007 POST #create7008 created successfully7009 format: :html, ref_project: project, response_status: :found7010 creates a protected branch7011 format: :html, ref_project: empty_project, response_status: :found7012 creates a protected branch7013 format: :json, ref_project: project, response_status: :ok7014 creates a protected branch7015 format: :json, ref_project: empty_project, response_status: :ok7016 creates a protected branch7017 when a policy restricts rule creation7018 prevents creation of the protected branch rule7019 PUT #update7020 updates the protected branch rule7021 when repository is empty7022 updates the protected branch rule7023 when a policy restricts rule update7024 prevents update of the protected branch rule7025 DELETE #destroy7026 deletes the protected branch rule7027 when repository is empty7028 deletes the protected branch rule7029 when a policy restricts rule deletion7030 prevents deletion of the protected branch rule7031API::Keys7032 GET /keys/:uid7033 behaves like GET request permissions for admin mode7034 behaves like when admin7035 behaves like makes request7036 returns7037 behaves like makes request7038 returns7039 behaves like when user7040 returns7041 behaves like makes request7042 returns7043 when unauthenticated7044 returns authentication error7045 when authenticated7046 returns 404 for non-existing key7047 returns single ssh key with user information7048 does not include the user's `is_admin` flag7049 GET /keys?fingerprint=7050 returns authentication error7051 behaves like GET request permissions for admin mode7052 behaves like when admin7053 behaves like makes request7054 returns7055 behaves like makes request7056 returns7057 behaves like when user7058 returns7059 behaves like makes request7060 returns7061 when authenticated as admin7062 returns 404 for non-existing SSH sha256 fingerprint7063 returns user if SSH sha256 fingerprint found7064 returns user if SSH sha256 fingerprint found7065 does not include the user's `is_admin` flag7066 MD5 fingerprint7067 returns 404 for non-existing SSH md5 fingerprint7068 returns user if SSH md5 fingerprint found7069 with FIPS mode7070 returns 404 for non-existing SSH md5 fingerprint7071 returns 404 for existing SSH md5 fingerprint7072 when searching a DeployKey7073 returns user and projects if SSH sha256 fingerprint for DeployKey found7074API::Templates7075 the Template Entity7076 is expected to eq "Ruby"7077 is expected to include "*.gem"7078 the TemplateList Entity7079 is expected not to be nil7080 is expected to be nil7081 requesting gitignores7082 returns a list of available gitignore templates7083 requesting gitlab-ci-ymls7084 returns a list of available gitlab_ci_ymls7085 requesting gitlab-ci-yml for Ruby7086 adds a disclaimer on the top7087 the License Template Entity7088 returns a license template7089 GET templates/licenses7090 returns a list of available license templates7091 the popular parameter7092 with popular=17093 returns a list of available popular license templates7094 GET templates/licenses/:name7095 with :project and :fullname given7096 for the mit license7097 returns the license text7098 replaces placeholder values7099 for the agpl-3.0 license7100 returns the license text7101 replaces placeholder values7102 for the gpl-3.0 license7103 returns the license text7104 replaces placeholder values7105 for the gpl-2.0 license7106 returns the license text7107 replaces placeholder values7108 for the apache-2.0 license7109 returns the license text7110 replaces placeholder values7111 for an uknown license7112 returns a 4047113 with no :fullname given7114 with an authenticated user7115 replaces the copyright owner placeholder with the name of the current user7116StaticObjectExternalStorage7117 when external storage is not configured7118 calls the action normally7119 when external storage is configured7120 when external storage token is empty7121 when project is public7122 redirects to external storage URL without adding a token parameter7123 when project is not public7124 redirects to external storage URL a token parameter added7125 when path includes extra parameters7126 includes the parameters in the redirect URL7127 when external storage token is present7128 when token is correct7129 calls the action normally7130 when token is incorrect7131 return 4037132Creation of a new branch7133 when project is public7134 when user is not allowed to create a branch7135 behaves like a mutation that returns a top-level access error7136 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"7137 when user is a direct project member7138 and user is a developer7139 behaves like creates a new branch7140 is expected to include {"name" => "new_branch_59bbdbc0", "commit" => (a hash including "id")}7141 when ref is not correct7142 behaves like a mutation that returns errors in the response7143 is expected to contain exactly "Failed to create branch 'another_branch': invalid reference name 'unknown'"7144 when user is an inherited member from the group7145 when project has a private repository7146 and user is a guest7147 behaves like a mutation that returns a top-level access error7148 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"7149 and user is a developer7150 behaves like creates a new branch7151 is expected to include {"name" => "new_branch_45951615", "commit" => (a hash including "id")}7152 when project is private7153 when user is an inherited member from the group7154 and user is a guest7155 behaves like a mutation that returns a top-level access error7156 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"7157 and user is a developer7158 behaves like creates a new branch7159 is expected to include {"name" => "new_branch_476de659", "commit" => (a hash including "id")}7160API::ImportBitbucketServer7161 POST /import/bitbucket_server7162 with no optional parameters7163 rejects requests when Bitbucket Server Importer is disabled7164 returns 201 response when the project is imported successfully7165 with a new project name7166 returns 201 response when the project is imported successfully with a new project name7167 with an invalid URL7168 returns 400 response due to a blocked URL7169 with a new namespace7170 returns 201 response when the project is imported successfully to a new namespace7171 with a private inaccessible namespace7172 returns 401 response when user can not create projects in the chosen namespace7173 with an inaccessible bitbucket server instance7174 raises a connection error7175Pinning navigation menu items7176 # order random7177 PUT /-/users/pins7178 with valid params7179 saves the menu_item_ids for the correct panel7180 does not change menu_item_ids of other panels7181 responds OK7182 with invalid params7183 when panel name is unknown7184 behaves like unchanged data and error response7185 does not modify existing panel data7186 responds with error7187 when menu_item_ids is not array of strings7188 behaves like unchanged data and error response7189 does not modify existing panel data7190 responds with error7191 when params are not permitted7192 behaves like unchanged data and error response7193 does not modify existing panel data7194 responds with error7195merge request content spec7196 GET cached_widget7197 behaves like cached widget request7198 avoids N+1 queries when multiple job artifacts are present7199 with non_public_artifacts disabled7200 behaves like cached widget request7201 avoids N+1 queries when multiple job artifacts are present7202API::DependencyProxy7203 DELETE /groups/:id/dependency_proxy/cache7204 with a group id7205 behaves like responding to purge requests7206 with feature available and enabled7207 an admin user7208 deletes the blobs and returns no content7209 a non-admin7210 behaves like returning response status7211 returns forbidden7212 depencency proxy is not enabled in the config7213 behaves like returning response status7214 returns not_found7215 with an url encoded group id7216 behaves like responding to purge requests7217 with feature available and enabled7218 an admin user7219 deletes the blobs and returns no content7220 a non-admin7221 behaves like returning response status7222 returns forbidden7223 depencency proxy is not enabled in the config7224 behaves like returning response status7225 returns not_found7226API::Ci::Runner7227 /api/v4/runners7228 DELETE /api/v4/runners7229 behaves like runner migrations backoff7230 when executing locking database migrations7231 returns 429 error7232 with runner_migrations_backoff disabled7233 does not return 4297234 when no token is provided7235 returns 400 error7236 when invalid token is provided7237 returns 403 error7238 when valid token is provided7239 deletes Runner7240 behaves like 412 response7241 for a modified resource7242 returns 412 with a JSON error7243 for an unmodified resource7244 returns 204 with an empty body7245 behaves like storing arguments in the application context for the API7246 places the expected params in the application context7247 /api/v4/runners/managers7248 DELETE /api/v4/runners/managers7249 with created runner7250 with matching system_id7251 when no token is provided7252 returns 400 error7253 when invalid token is provided7254 returns 403 error7255 when valid token is provided7256 with created runner7257 with matching system_id7258 deletes runner manager7259 behaves like 412 response7260 for a modified resource7261 returns 412 with a JSON error7262 for an unmodified resource7263 returns 204 with an empty body7264 behaves like storing arguments in the application context for the API7265 places the expected params in the application context7266 with unknown system_id7267 returns 404 error7268 without system_id7269 does not delete runner manager nor runner7270Projects::ServiceDeskController7271 # order random7272 PUT #update7273 toggles services desk incoming email7274 sets issue_template_key7275 returns an error when update of service desk settings fails7276 when user cannot admin the project7277 renders 4047278 GET #show7279 returns service_desk JSON data7280 when user is not project maintainer7281 renders 4047282 when issue template is present7283 returns template_file_missing as false7284 when issue template file becomes outdated7285 returns template_file_missing as true7286getting Issue counts by status7287 with issue count data7288 without project permissions7289 is expected to equal nil7290 behaves like a working graphql query7291 returns a successful response7292 with project permissions7293 returns the correct counts for each status7294 behaves like a working graphql query7295 returns a successful response7296API::Integrations::Slack::Events7297 # order random7298 POST /integrations/slack/events7299 behaves like Slack request verification7300 unauthorized request7301 when the slack_app_signing_secret setting is not set7302 behaves like an unauthorized request7303 is expected to respond with numeric status code unauthorized7304 when the timestamp header has expired7305 behaves like an unauthorized request7306 is expected to respond with numeric status code unauthorized7307 when the timestamp header is missing7308 behaves like an unauthorized request7309 is expected to respond with numeric status code unauthorized7310 when the signature header is missing7311 behaves like an unauthorized request7312 is expected to respond with numeric status code unauthorized7313 when the signature is not verified7314 behaves like an unauthorized request7315 is expected to respond with numeric status code unauthorized7316 when type param is missing7317 behaves like a successful request that generates a tracked error7318 is expected to be empty7319 when type param is unknown7320 generates a tracked error7321 when type param is url_verification7322 responds in-request with the challenge7323 when event.type param is app_home_opened7324 calls the Slack API (integration-style test)7325getting Alert Management Alert Assignees7326 returns the correct assignees7327 applies appropriate filters for non-visible users7328 performance7329 can limit results7330 can include all results7331 avoids N+1 queries7332OAuth tokens7333 Resource Owner Password Credentials7334 when user has 2FA enabled7335 does not create an access token7336 when 2FA enforced7337 when grace period expired7338 does not create an access token7339 when grace period is not expired7340 creates an access token7341 when user does not have 2FA enabled7342 when no client credentials provided7343 creates an access token7344 when client credentials provided7345 with valid credentials7346 creates an access token7347 with invalid credentials7348 does not create an access token7349 when user is blocked7350 is expected to respond with numeric status code bad_request7351 when user is ldap_blocked7352 is expected to respond with numeric status code bad_request7353 when user account is not confirmed7354 is expected to respond with numeric status code bad_request7355Projects::Security::ConfigurationController7356 GET show7357 when user has guest access7358 denies access7359 when user has developer access7360 grants access7361 responds with configuration data json7362 with feature flag unify_security_configuration turned off7363 responds with empty configuration data json7364API::Admin::Migrations7365 # order random7366 POST /admin/migrations/:version/mark7367 when the migration exists7368 marks the migration as successful7369 behaves like POST request permissions for admin mode7370 behaves like when admin7371 behaves like makes request7372 returns7373 behaves like makes request7374 returns7375 behaves like when user7376 returns7377 behaves like makes request7378 returns7379 when the migration does not exist7380 returns 4047381 when the migration was already executed7382 returns 4227383 when multiple database is enabled7384 uses the correct connection7385 when the database name does not exist7386 returns bad request7387Mutations::Achievements::Revoke7388 # order random7389 when the user has permission7390 revokes an achievement7391 returns the revoked achievement7392 when the params are invalid7393 returns the validation error7394 when the user_achievement_id is invalid7395 returns the validation error7396 when the feature flag is disabled7397 returns the relevant error7398 when the user does not have permission7399 does not revoke any achievements7400 behaves like a mutation that returns a top-level access error7401 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"7402getting blobs in a project repository7403 returns the blob7404Getting Ci Cd Setting7405 without permissions7406 is expected to equal nil7407 behaves like a working graphql query7408 returns a successful response7409 with project permissions7410 fetches the settings data7411 behaves like a working graphql query7412 returns a successful response7413Setting subscribed status of a merge request7414 behaves like a subscribable resource api7415 when the user is not authorized7416 behaves like a mutation that returns top-level errors7417 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"7418 when user is authorized7419 marks the resource as subscribed7420 when passing subscribe false as input7421 unmarks the resource as subscribed7422Creating a new Prometheus Integration7423 creates a new integration7424 without api url7425 creates a new integration7426 without required argument project_path7427 behaves like an invalid argument to the mutation7428 behaves like a mutation that returns top-level errors7429 is expected to contain exactly (include "invalid value for projectPath")7430 without required argument active7431 behaves like an invalid argument to the mutation7432 behaves like a mutation that returns top-level errors7433 is expected to contain exactly (include "invalid value for active")7434Admin::DashboardController7435 #index7436 retrieves Redis versions7437 with pending_delete projects7438 does not retrieve projects that are pending deletion7439Projects::Settings::PackagesAndRegistriesController7440 GET #cleanup_tags7441 when user is unauthorized7442 shows 4047443 when user is authorized7444 renders content7445 when registry is disabled7446 shows 4047447 when container registry is disabled on project7448 shows 4047449AbuseReportMailer7450 .notify7451 behaves like appearance header and footer enabled7452 contains header and footer7453 behaves like appearance header and footer not enabled7454 does not contain header and footer7455 with abuse_notification_email set7456 sends to the abuse_notification_email7457 includes the user in the subject7458 with no abuse_notification_email set7459 returns early7460PipelineTriggerCreate7461 # order random7462 when unauthorized7463 returns an error7464 when authorized7465 when the params are invalid7466 does not create a pipeline trigger token and returns an error7467 when the params are valid7468 creates a pipeline trigger token7469 returns the new pipeline trigger token7470Create a todo7471 the user is not allowed to create todo7472 behaves like a mutation that returns a top-level access error7473 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"7474 when user has permissions to create todo7475 creates todo7476Projects::Ci::PipelineEditorController7477 GET #show7478 with enough privileges7479 is expected to respond with numeric status code ok7480 renders show page7481 without enough privileges7482 responds with 4047483Resetting a token on an existing Prometheus Integration7484 creates a token7485 with an existing alerting setting7486 updates the token7487Oauth::TokensController7488 includes Two-factor enforcement concern7489Updating the dependency proxy image ttl policy7490 post graphql mutation7491 without permission7492 returns no response7493 with permission7494 for owner7495 returns the updated dependency proxy image ttl policy7496 for maintainer7497 returns the updated dependency proxy image ttl policy7498Creation of a new release asset link7499 creates and returns a new asset link associated to the provided release7500Setting assignees of an alert7501 updates the assignee of the alert7502 with operation_mode specified7503 updates the assignee of the alert7504Creating a todo for the alert7505 creates a todo for the current user7506 todo already exists7507 surfaces an error7508Query.project(fullPath).pipelines.jobs.artifacts7509 returns the fields for the artifacts7510API::Internal::Workhorse7511 /authorize_upload7512 without workhorse internal header7513 is expected to respond with numeric status code forbidden7514 with workhorse internal header7515 is expected to respond with numeric status code unauthorized7516 as a logged in user7517 is expected to respond with numeric status code success7518 returns the temp upload path7519JiraConnect::PublicKeysController7520 # order random7521 GET /-/jira_connect/public_keys/:uuid7522 renders 4047523 when public key exists7524 renders 2007525 when public key storage setting disabled7526 renders 4047527API::APIGuard::AdminModeMiddleware7528 is loaded7529 when there is an exception in the api call7530 resets admin mode7531RunnerSetupController7532 GET /-/runner_setup/platforms7533 renders the platforms7534Knapsack report was generated. Preview:7535{7536 "spec/requests/api/graphql/project/merge_requests_spec.rb": 141.79092814999967,7537 "spec/requests/api/markdown_snapshot_spec.rb": 90.30233676900025,7538 "spec/requests/lfs_http_spec.rb": 135.60812160600017,7539 "spec/requests/api/groups_spec.rb": 117.97876545999998,7540 "spec/controllers/explore/projects_controller_spec.rb": 85.95676661800007,7541 "spec/requests/api/graphql/project/issues_spec.rb": 75.67779515200027,7542 "spec/controllers/groups/milestones_controller_spec.rb": 74.7420507730003,7543 "spec/requests/api/invitations_spec.rb": 40.72000286799994,7544 "spec/controllers/search_controller_spec.rb": 40.7262745779999,7545 "spec/requests/api/project_clusters_spec.rb": 42.65072478300044,7546 "spec/requests/projects/merge_requests_discussions_spec.rb": 49.52072458500061,7547 "spec/requests/api/internal/kubernetes_spec.rb": 30.476523786999678,7548 "spec/requests/api/deploy_tokens_spec.rb": 23.637155256999904,7549 "spec/requests/api/graphql/mutations/notes/create/diff_note_spec.rb": 28.296112924000226,7550 "spec/controllers/projects/uploads_controller_spec.rb": 25.611071102000096,7551 "spec/requests/api/graphql/project/work_items_spec.rb": 19.637753072000123,7552 "spec/requests/api/topics_spec.rb": 6.431018491999566,7553 "spec/controllers/graphql_controller_spec.rb": 10.784158151000156,7554 "spec/requests/api/graphql/project/alert_management/alerts_spec.rb": 14.287542127000052,7555 "spec/requests/api/unleash_spec.rb": 7.081754714999988,7556 "spec/requests/api/protected_branches_spec.rb": 8.843577763000212,7557 "spec/requests/api/graphql/packages/maven_spec.rb": 19.779047168000034,7558 "spec/requests/api/group_boards_spec.rb": 15.47993229399981,7559 "spec/requests/api/merge_request_approvals_spec.rb": 12.82301267999992,7560 "spec/controllers/dashboard/milestones_controller_spec.rb": 17.745712597999955,7561 "spec/requests/api/graphql/group/container_repositories_spec.rb": 10.904926968999462,7562 "spec/controllers/concerns/product_analytics_tracking_spec.rb": 7.26555206500052,7563 "spec/requests/api/graphql/mutations/snippets/destroy_spec.rb": 9.498722254000313,7564 "spec/requests/api/graphql/project/issue_spec.rb": 6.4843855679991975,7565 "spec/requests/api/graphql/mutations/container_repository/destroy_spec.rb": 9.34146434000013,7566 "spec/controllers/invites_controller_spec.rb": 4.649589196999841,7567 "spec/requests/api/graphql/user_spec.rb": 5.642622835000111,7568 "spec/requests/projects/google_cloud/deployments_controller_spec.rb": 7.559954155000014,7569 "spec/requests/api/markdown_spec.rb": 6.684163787000216,7570 "spec/requests/api/graphql/mutations/work_items/update_task_spec.rb": 5.9923872680001296,7571 "spec/controllers/projects/feature_flags_user_lists_controller_spec.rb": 3.7845173469995643,7572 "spec/requests/api/graphql/mutations/merge_requests/set_milestone_spec.rb": 7.180504724999992,7573 "spec/requests/api/graphql/current_user/todos_query_spec.rb": 4.748680206999779,7574 "spec/requests/api/graphql/mutations/labels/create_spec.rb": 3.128979895000157,7575 "spec/controllers/projects/alerting/notifications_controller_spec.rb": 2.925124386000789,7576 "spec/controllers/projects/protected_branches_controller_spec.rb": 3.4551379920003455,7577 "spec/requests/api/keys_spec.rb": 4.563016336000146,7578 "spec/requests/api/templates_spec.rb": 1.914839791000304,7579 "spec/controllers/concerns/static_object_external_storage_spec.rb": 4.4185953719998,7580 "spec/requests/api/graphql/mutations/branches/create_spec.rb": 4.274279765999381,7581 "spec/requests/api/import_bitbucket_server_spec.rb": 3.9576083689998995,7582 "spec/requests/users/pins_spec.rb": 2.461949364999782,7583 "spec/requests/projects/merge_requests/content_spec.rb": 4.4809642849995726,7584 "spec/requests/api/dependency_proxy_spec.rb": 2.5886515910005983,7585 "spec/requests/api/ci/runner/runners_delete_spec.rb": 1.9431171290007114,7586 "spec/requests/projects/service_desk_controller_spec.rb": 3.0994277279996822,7587 "spec/requests/api/graphql/issue_status_counts_spec.rb": 2.0712880449991644,7588 "spec/requests/api/integrations/slack/events_spec.rb": 1.1665760989999399,7589 "spec/requests/api/graphql/project/alert_management/alert/assignees_spec.rb": 2.5868925309996484,7590 "spec/requests/api/oauth_tokens_spec.rb": 2.2614551759997994,7591 "spec/controllers/projects/security/configuration_controller_spec.rb": 3.147609673000261,7592 "spec/requests/api/admin/migrations_spec.rb": 1.908778722000534,7593 "spec/requests/api/graphql/mutations/achievements/revoke_spec.rb": 2.3663732640006856,7594 "spec/requests/api/graphql/project/repository/blobs_spec.rb": 1.1668078689999675,7595 "spec/requests/api/graphql/ci/ci_cd_setting_spec.rb": 1.8905904040002497,7596 "spec/requests/api/graphql/mutations/merge_requests/set_subscription_spec.rb": 1.956464116999996,7597 "spec/requests/api/graphql/mutations/alert_management/prometheus_integration/create_spec.rb": 1.8734794560004957,7598 "spec/controllers/admin/dashboard_controller_spec.rb": 1.7564208579997285,7599 "spec/requests/projects/settings/packages_and_registries_controller_spec.rb": 1.8449271780000345,7600 "spec/mailers/abuse_report_mailer_spec.rb": 1.893398074000288,7601 "spec/requests/api/graphql/mutations/ci/pipeline_trigger/create_spec.rb": 1.7282673800000339,7602 "spec/requests/api/graphql/mutations/todos/create_spec.rb": 1.4588789680001355,7603 "spec/controllers/projects/ci/pipeline_editor_controller_spec.rb": 1.535563920999266,7604 "spec/requests/api/graphql/mutations/alert_management/prometheus_integration/reset_token_spec.rb": 1.4723117670000647,7605 "spec/controllers/oauth/tokens_controller_spec.rb": 0.17244888200002606,7606 "spec/requests/api/graphql/mutations/dependency_proxy/image_ttl_group_policy/update_spec.rb": 1.298671954999918,7607 "spec/requests/api/graphql/mutations/release_asset_links/create_spec.rb": 1.15368805000071,7608 "spec/requests/api/graphql/mutations/alert_management/alerts/set_assignees_spec.rb": 1.1865092470006857,7609 "spec/requests/api/graphql/mutations/alert_management/alerts/todo/create_spec.rb": 1.2301864219998606,7610 "spec/requests/api/graphql/ci/job_artifacts_spec.rb": 1.1978894659996513,7611 "spec/requests/api/internal/workhorse_spec.rb": 0.5831462400001328,7612 "spec/requests/jira_connect/public_keys_controller_spec.rb": 0.49523875800059614,7613 "spec/requests/api/api_guard/admin_mode_middleware_spec.rb": 0.350199574000726,7614 "spec/requests/runner_setup_controller_spec.rb": 0.3528636339997327615}7616Knapsack global time execution for tests: 21m 51s7617Finished in 21 minutes 54 seconds (files took 1 minute 15.24 seconds to load)76183359 examples, 0 failures7619Randomized with seed 180717620[TEST PROF INFO] Time spent in factories: 07:41.759 (34.28% of total time)7621RSpec exited with 0.7622No examples to retry, congrats!7624Running after script...7625$ echo -e "\e[0Ksection_start:`date +%s`:report_results_section[collapsed=true]\r\e[0KReport results"7630Not uploading cache ruby-gems-debian-bullseye-ruby-3.0-16 due to policy7632Uploading artifacts...7633WARNING: auto_explain/: no matching files. Ensure that the artifact path is relative to the working directory (/builds/gitlab-org/gitlab) 7634coverage/: found 5 matching artifact files and directories 7635crystalball/: found 2 matching artifact files and directories 7636WARNING: deprecations/: no matching files. Ensure that the artifact path is relative to the working directory (/builds/gitlab-org/gitlab) 7637knapsack/: found 4 matching artifact files and directories 7638rspec/: found 16 matching artifact files and directories 7639WARNING: tmp/capybara/: no matching files. Ensure that the artifact path is relative to the working directory (/builds/gitlab-org/gitlab) 7640log/*.log: found 18 matching artifact files and directories 7641WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/4900739561/artifacts?artifact_format=zip&artifact_type=archive&expire_in=31d new-url=https://gitlab.com7642WARNING: Retrying... context=artifacts-uploader error=request redirected7643Uploading artifacts as "archive" to coordinator... 201 Created id=4900739561 responseStatus=201 Created token=64_qdu8H7644Uploading artifacts...7645rspec/rspec-*.xml: found 1 matching artifact files and directories 7646WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/4900739561/artifacts?artifact_format=gzip&artifact_type=junit&expire_in=31d new-url=https://gitlab.com7647WARNING: Retrying... context=artifacts-uploader error=request redirected7648Uploading artifacts as "junit" to coordinator... 201 Created id=4900739561 responseStatus=201 Created token=64_qdu8H7650Job succeeded