rspec integration pg14-as-if-foss single-db-ci-connection 7/12
Passed Started
by
@vshushlin

Vladimir Shushlin
1 for user type anonymous2 behaves like returning response status3 returns not_found4 behaves like rejects nuget access with invalid target id5 with a target id with invalid integers6 id: "/../", status: :bad_request7 behaves like rejects nuget packages access8 for user type anonymous9 behaves like returning response status10 returns bad_request11 id: "", status: :not_found12 behaves like rejects nuget packages access13 for user type anonymous14 behaves like returning response status15 returns not_found16 id: "%20", status: :bad_request17 behaves like rejects nuget packages access18 for user type anonymous19 behaves like returning response status20 returns bad_request21 id: "%2e%2e%2f", status: :bad_request22 behaves like rejects nuget packages access23 for user type anonymous24 behaves like returning response status25 returns bad_request26 id: "NaN", status: :bad_request27 behaves like rejects nuget packages access28 for user type anonymous29 behaves like returning response status30 returns bad_request31 id: 1253, status: :not_found32 behaves like rejects nuget packages access33 for user type anonymous34 behaves like returning response status35 returns not_found36 id: "anything25", status: :bad_request37 behaves like rejects nuget packages access38 for user type anonymous39 behaves like returning response status40 returns bad_request41 behaves like accept get request on private project with access to package registry for everyone42 behaves like returning response status43 returns ok44 GET /api/v4/projects/:id/packages/nuget/v2/$metadata45 is expected to have request urgency :low46 with valid target47 visibility_level: "PUBLIC", user_role: :developer, member: true, expected_status: :success48 behaves like process nuget v2 $metadata service request49 for user type developer50 returns a valid xml response51 behaves like returning response status52 returns success53 visibility_level: "PUBLIC", user_role: :guest, member: true, expected_status: :success54 behaves like process nuget v2 $metadata service request55 for user type guest56 returns a valid xml response57 behaves like returning response status58 returns success59 visibility_level: "PUBLIC", user_role: :developer, member: false, expected_status: :success60 behaves like process nuget v2 $metadata service request61 for user type developer62 returns a valid xml response63 behaves like returning response status64 returns success65 visibility_level: "PUBLIC", user_role: :guest, member: false, expected_status: :success66 behaves like process nuget v2 $metadata service request67 for user type guest68 returns a valid xml response69 behaves like returning response status70 returns success71 visibility_level: "PUBLIC", user_role: :anonymous, member: false, expected_status: :success72 behaves like process nuget v2 $metadata service request73 for user type anonymous74 returns a valid xml response75 behaves like returning response status76 returns success77 visibility_level: "PRIVATE", user_role: :developer, member: true, expected_status: :success78 behaves like process nuget v2 $metadata service request79 for user type developer80 returns a valid xml response81 behaves like returning response status82 returns success83 visibility_level: "PRIVATE", user_role: :guest, member: true, expected_status: :success84 behaves like process nuget v2 $metadata service request85 for user type guest86 returns a valid xml response87 behaves like returning response status88 returns success89 visibility_level: "PRIVATE", user_role: :developer, member: false, expected_status: :success90 behaves like process nuget v2 $metadata service request91 for user type developer92 returns a valid xml response93 behaves like returning response status94 returns success95 visibility_level: "PRIVATE", user_role: :guest, member: false, expected_status: :success96 behaves like process nuget v2 $metadata service request97 for user type guest98 returns a valid xml response99 behaves like returning response status100 returns success101 visibility_level: "PRIVATE", user_role: :anonymous, member: false, expected_status: :success102 behaves like process nuget v2 $metadata service request103 for user type anonymous104 returns a valid xml response105 behaves like returning response status106 returns success107 visibility_level: "INTERNAL", user_role: :developer, member: true, expected_status: :success108 behaves like process nuget v2 $metadata service request109 for user type developer110 returns a valid xml response111 behaves like returning response status112 returns success113 visibility_level: "INTERNAL", user_role: :guest, member: true, expected_status: :success114 behaves like process nuget v2 $metadata service request115 for user type guest116 returns a valid xml response117 behaves like returning response status118 returns success119 visibility_level: "INTERNAL", user_role: :developer, member: false, expected_status: :success120 behaves like process nuget v2 $metadata service request121 for user type developer122 returns a valid xml response123 behaves like returning response status124 returns success125 visibility_level: "INTERNAL", user_role: :guest, member: false, expected_status: :success126 behaves like process nuget v2 $metadata service request127 for user type guest128 returns a valid xml response129 behaves like returning response status130 returns success131 visibility_level: "INTERNAL", user_role: :anonymous, member: false, expected_status: :success132 behaves like process nuget v2 $metadata service request133 for user type anonymous134 returns a valid xml response135 behaves like returning response status136 returns success137 GET /api/v4/projects/:id/packages/nuget/metadata/*package_name/index138 behaves like handling nuget metadata requests with package name139 with valid target140 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: true, shared_examples_name: "process nuget metadata request at package name level", expected_status: :success141 behaves like process nuget metadata request at package name level142 for user type developer143 behaves like returning response status144 returns success145 behaves like returning nuget metadata json response with json schema146 returns a valid json response147 with invalid format148 behaves like rejects nuget packages access149 for user type anonymous150 behaves like returning response status151 returns not_found152 with lower case package name153 behaves like returning response status154 returns success155 behaves like returning nuget metadata json response with json schema156 returns a valid json response157 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: true, shared_examples_name: "process nuget metadata request at package name level", expected_status: :success158 behaves like process nuget metadata request at package name level159 for user type guest160 behaves like returning response status161 returns success162 behaves like returning nuget metadata json response with json schema163 returns a valid json response164 with invalid format165 behaves like rejects nuget packages access166 for user type anonymous167 behaves like returning response status168 returns not_found169 with lower case package name170 behaves like returning response status171 returns success172 behaves like returning nuget metadata json response with json schema173 returns a valid json response174 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized175 behaves like rejects nuget packages access176 for user type developer177 has the correct response header178 behaves like returning response status179 returns unauthorized180 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized181 behaves like rejects nuget packages access182 for user type guest183 has the correct response header184 behaves like returning response status185 returns unauthorized186 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: true, shared_examples_name: "process nuget metadata request at package name level", expected_status: :success187 behaves like process nuget metadata request at package name level188 for user type developer189 behaves like returning response status190 returns success191 behaves like returning nuget metadata json response with json schema192 returns a valid json response193 with invalid format194 behaves like rejects nuget packages access195 for user type anonymous196 behaves like returning response status197 returns not_found198 with lower case package name199 behaves like returning response status200 returns success201 behaves like returning nuget metadata json response with json schema202 returns a valid json response203 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: true, shared_examples_name: "process nuget metadata request at package name level", expected_status: :success204 behaves like process nuget metadata request at package name level205 for user type guest206 behaves like returning response status207 returns success208 behaves like returning nuget metadata json response with json schema209 returns a valid json response210 with invalid format211 behaves like rejects nuget packages access212 for user type anonymous213 behaves like returning response status214 returns not_found215 with lower case package name216 behaves like returning response status217 returns success218 behaves like returning nuget metadata json response with json schema219 returns a valid json response220 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized221 behaves like rejects nuget packages access222 for user type developer223 has the correct response header224 behaves like returning response status225 returns unauthorized226 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized227 behaves like rejects nuget packages access228 for user type guest229 has the correct response header230 behaves like returning response status231 returns unauthorized232 visibility_level: "PUBLIC", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "process nuget metadata request at package name level", expected_status: :success233 behaves like process nuget metadata request at package name level234 for user type anonymous235 behaves like returning response status236 returns success237 behaves like returning nuget metadata json response with json schema238 returns a valid json response239 with invalid format240 behaves like rejects nuget packages access241 for user type anonymous242 behaves like returning response status243 returns not_found244 with lower case package name245 behaves like returning response status246 returns success247 behaves like returning nuget metadata json response with json schema248 returns a valid json response249 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: true, shared_examples_name: "process nuget metadata request at package name level", expected_status: :success250 behaves like process nuget metadata request at package name level251 for user type developer252 behaves like returning response status253 returns success254 behaves like returning nuget metadata json response with json schema255 returns a valid json response256 with invalid format257 behaves like rejects nuget packages access258 for user type anonymous259 behaves like returning response status260 returns not_found261 with lower case package name262 behaves like returning response status263 returns success264 behaves like returning nuget metadata json response with json schema265 returns a valid json response266 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden267 behaves like rejects nuget packages access268 for user type guest269 behaves like returning response status270 returns forbidden271 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized272 behaves like rejects nuget packages access273 for user type developer274 has the correct response header275 behaves like returning response status276 returns unauthorized277 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized278 behaves like rejects nuget packages access279 for user type guest280 has the correct response header281 behaves like returning response status282 returns unauthorized283 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :not_found284 behaves like rejects nuget packages access285 for user type developer286 behaves like returning response status287 returns not_found288 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :not_found289 behaves like rejects nuget packages access290 for user type guest291 behaves like returning response status292 returns not_found293 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized294 behaves like rejects nuget packages access295 for user type developer296 has the correct response header297 behaves like returning response status298 returns unauthorized299 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized300 behaves like rejects nuget packages access301 for user type guest302 has the correct response header303 behaves like returning response status304 returns unauthorized305 visibility_level: "PRIVATE", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized306 behaves like rejects nuget packages access307 for user type anonymous308 has the correct response header309 behaves like returning response status310 returns unauthorized311 behaves like deploy token for package GET requests312 with deploy token headers313 valid token314 behaves like returning response status315 returns success316 invalid token317 behaves like returning response status318 returns unauthorized319 behaves like rejects nuget access with unknown target id320 with an unknown target321 as anonymous322 behaves like rejects nuget packages access323 for user type anonymous324 has the correct response header325 behaves like returning response status326 returns unauthorized327 as authenticated user328 behaves like rejects nuget packages access329 for user type anonymous330 behaves like returning response status331 returns not_found332 behaves like rejects nuget access with invalid target id333 with a target id with invalid integers334 id: "/../", status: :bad_request335 behaves like rejects nuget packages access336 for user type anonymous337 behaves like returning response status338 returns bad_request339 id: "", status: :not_found340 behaves like rejects nuget packages access341 for user type anonymous342 behaves like returning response status343 returns not_found344 id: "%20", status: :bad_request345 behaves like rejects nuget packages access346 for user type anonymous347 behaves like returning response status348 returns bad_request349 id: "%2e%2e%2f", status: :bad_request350 behaves like rejects nuget packages access351 for user type anonymous352 behaves like returning response status353 returns bad_request354 id: "NaN", status: :bad_request355 behaves like rejects nuget packages access356 for user type anonymous357 behaves like returning response status358 returns bad_request359 id: 1253, status: :unauthorized360 behaves like rejects nuget packages access361 for user type anonymous362 has the correct response header363 behaves like returning response status364 returns unauthorized365 id: "anything25", status: :bad_request366 behaves like rejects nuget packages access367 for user type anonymous368 behaves like returning response status369 returns bad_request370 behaves like accept get request on private project with access to package registry for everyone371 behaves like returning response status372 returns ok373 GET /api/v4/projects/:id/packages/nuget/metadata/*package_name/*package_version374 behaves like handling nuget metadata requests with package name and package version375 with valid target376 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: true, shared_examples_name: "process nuget metadata request at package name and package version level", expected_status: :success377 behaves like process nuget metadata request at package name and package version level378 for user type developer379 behaves like returning response status380 returns success381 behaves like returning nuget metadata json response with json schema382 returns a valid json response383 with invalid format384 behaves like rejects nuget packages access385 for user type anonymous386 behaves like returning response status387 returns not_found388 with lower case package name389 behaves like returning response status390 returns success391 behaves like returning nuget metadata json response with json schema392 returns a valid json response393 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: true, shared_examples_name: "process nuget metadata request at package name and package version level", expected_status: :success394 behaves like process nuget metadata request at package name and package version level395 for user type guest396 behaves like returning response status397 returns success398 behaves like returning nuget metadata json response with json schema399 returns a valid json response400 with invalid format401 behaves like rejects nuget packages access402 for user type anonymous403 behaves like returning response status404 returns not_found405 with lower case package name406 behaves like returning response status407 returns success408 behaves like returning nuget metadata json response with json schema409 returns a valid json response410 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized411 behaves like rejects nuget packages access412 for user type developer413 has the correct response header414 behaves like returning response status415 returns unauthorized416 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized417 behaves like rejects nuget packages access418 for user type guest419 has the correct response header420 behaves like returning response status421 returns unauthorized422 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: true, shared_examples_name: "process nuget metadata request at package name and package version level", expected_status: :success423 behaves like process nuget metadata request at package name and package version level424 for user type developer425 behaves like returning response status426 returns success427 behaves like returning nuget metadata json response with json schema428 returns a valid json response429 with invalid format430 behaves like rejects nuget packages access431 for user type anonymous432 behaves like returning response status433 returns not_found434 with lower case package name435 behaves like returning response status436 returns success437 behaves like returning nuget metadata json response with json schema438 returns a valid json response439 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: true, shared_examples_name: "process nuget metadata request at package name and package version level", expected_status: :success440 behaves like process nuget metadata request at package name and package version level441 for user type guest442 behaves like returning response status443 returns success444 behaves like returning nuget metadata json response with json schema445 returns a valid json response446 with invalid format447 behaves like rejects nuget packages access448 for user type anonymous449 behaves like returning response status450 returns not_found451 with lower case package name452 behaves like returning response status453 returns success454 behaves like returning nuget metadata json response with json schema455 returns a valid json response456 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized457 behaves like rejects nuget packages access458 for user type developer459 has the correct response header460 behaves like returning response status461 returns unauthorized462 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized463 behaves like rejects nuget packages access464 for user type guest465 has the correct response header466 behaves like returning response status467 returns unauthorized468 visibility_level: "PUBLIC", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "process nuget metadata request at package name and package version level", expected_status: :success469 behaves like process nuget metadata request at package name and package version level470 for user type anonymous471 behaves like returning response status472 returns success473 behaves like returning nuget metadata json response with json schema474 returns a valid json response475 with invalid format476 behaves like rejects nuget packages access477 for user type anonymous478 behaves like returning response status479 returns not_found480 with lower case package name481 behaves like returning response status482 returns success483 behaves like returning nuget metadata json response with json schema484 returns a valid json response485 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: true, shared_examples_name: "process nuget metadata request at package name and package version level", expected_status: :success486 behaves like process nuget metadata request at package name and package version level487 for user type developer488 behaves like returning response status489 returns success490 behaves like returning nuget metadata json response with json schema491 returns a valid json response492 with invalid format493 behaves like rejects nuget packages access494 for user type anonymous495 behaves like returning response status496 returns not_found497 with lower case package name498 behaves like returning response status499 returns success500 behaves like returning nuget metadata json response with json schema501 returns a valid json response502 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden503 behaves like rejects nuget packages access504 for user type guest505 behaves like returning response status506 returns forbidden507 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized508 behaves like rejects nuget packages access509 for user type developer510 has the correct response header511 behaves like returning response status512 returns unauthorized513 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized514 behaves like rejects nuget packages access515 for user type guest516 has the correct response header517 behaves like returning response status518 returns unauthorized519 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :not_found520 behaves like rejects nuget packages access521 for user type developer522 behaves like returning response status523 returns not_found524 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :not_found525 behaves like rejects nuget packages access526 for user type guest527 behaves like returning response status528 returns not_found529 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized530 behaves like rejects nuget packages access531 for user type developer532 has the correct response header533 behaves like returning response status534 returns unauthorized535 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized536 behaves like rejects nuget packages access537 for user type guest538 has the correct response header539 behaves like returning response status540 returns unauthorized541 visibility_level: "PRIVATE", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized542 behaves like rejects nuget packages access543 for user type anonymous544 has the correct response header545 behaves like returning response status546 returns unauthorized547 behaves like deploy token for package GET requests548 with deploy token headers549 valid token550 behaves like returning response status551 returns success552 invalid token553 behaves like returning response status554 returns unauthorized555 behaves like rejects nuget access with unknown target id556 with an unknown target557 as anonymous558 behaves like rejects nuget packages access559 for user type anonymous560 has the correct response header561 behaves like returning response status562 returns unauthorized563 as authenticated user564 behaves like rejects nuget packages access565 for user type anonymous566 behaves like returning response status567 returns not_found568 behaves like rejects nuget access with invalid target id569 with a target id with invalid integers570 id: "/../", status: :bad_request571 behaves like rejects nuget packages access572 for user type anonymous573 behaves like returning response status574 returns bad_request575 id: "", status: :not_found576 behaves like rejects nuget packages access577 for user type anonymous578 behaves like returning response status579 returns not_found580 id: "%20", status: :bad_request581 behaves like rejects nuget packages access582 for user type anonymous583 behaves like returning response status584 returns bad_request585 id: "%2e%2e%2f", status: :bad_request586 behaves like rejects nuget packages access587 for user type anonymous588 behaves like returning response status589 returns bad_request590 id: "NaN", status: :bad_request591 behaves like rejects nuget packages access592 for user type anonymous593 behaves like returning response status594 returns bad_request595 id: 1253, status: :unauthorized596 behaves like rejects nuget packages access597 for user type anonymous598 has the correct response header599 behaves like returning response status600 returns unauthorized601 id: "anything25", status: :bad_request602 behaves like rejects nuget packages access603 for user type anonymous604 behaves like returning response status605 returns bad_request606 behaves like accept get request on private project with access to package registry for everyone607 behaves like returning response status608 returns ok609 GET /api/v4/projects/:id/packages/nuget/query610 behaves like handling nuget search requests611 with valid target612 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: true, shared_examples_name: "process nuget search request", expected_status: :success613 behaves like process nuget search request614 for user type developer615 behaves like returns a valid json search response616 returns a valid json response617 behaves like returning response status618 returns success619 behaves like a package tracking event620 creates a gitlab tracking event search_package621 with skip set to 2622 behaves like returns a valid json search response623 returns a valid json response624 behaves like returning response status625 returns success626 with take set to 2627 behaves like returns a valid json search response628 returns a valid json response629 behaves like returning response status630 returns success631 without prereleases632 behaves like returns a valid json search response633 returns a valid json response634 behaves like returning response status635 returns success636 with empty search term637 behaves like returns a valid json search response638 returns a valid json response639 behaves like returning response status640 returns success641 with nil search term642 behaves like returns a valid json search response643 returns a valid json response644 behaves like returning response status645 returns success646 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: true, shared_examples_name: "process nuget search request", expected_status: :success647 behaves like process nuget search request648 for user type guest649 behaves like returns a valid json search response650 returns a valid json response651 behaves like returning response status652 returns success653 behaves like a package tracking event654 creates a gitlab tracking event search_package655 with skip set to 2656 behaves like returns a valid json search response657 returns a valid json response658 behaves like returning response status659 returns success660 with take set to 2661 behaves like returns a valid json search response662 returns a valid json response663 behaves like returning response status664 returns success665 without prereleases666 behaves like returns a valid json search response667 returns a valid json response668 behaves like returning response status669 returns success670 with empty search term671 behaves like returns a valid json search response672 returns a valid json response673 behaves like returning response status674 returns success675 with nil search term676 behaves like returns a valid json search response677 returns a valid json response678 behaves like returning response status679 returns success680 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized681 behaves like rejects nuget packages access682 for user type developer683 has the correct response header684 behaves like returning response status685 returns unauthorized686 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized687 behaves like rejects nuget packages access688 for user type guest689 has the correct response header690 behaves like returning response status691 returns unauthorized692 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: true, shared_examples_name: "process nuget search request", expected_status: :success693 behaves like process nuget search request694 for user type developer695 behaves like returns a valid json search response696 returns a valid json response697 behaves like returning response status698 returns success699 behaves like a package tracking event700 creates a gitlab tracking event search_package701 with skip set to 2702 behaves like returns a valid json search response703 returns a valid json response704 behaves like returning response status705 returns success706 with take set to 2707 behaves like returns a valid json search response708 returns a valid json response709 behaves like returning response status710 returns success711 without prereleases712 behaves like returns a valid json search response713 returns a valid json response714 behaves like returning response status715 returns success716 with empty search term717 behaves like returns a valid json search response718 returns a valid json response719 behaves like returning response status720 returns success721 with nil search term722 behaves like returns a valid json search response723 returns a valid json response724 behaves like returning response status725 returns success726 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: true, shared_examples_name: "process nuget search request", expected_status: :success727 behaves like process nuget search request728 for user type guest729 behaves like returns a valid json search response730 returns a valid json response731 behaves like returning response status732 returns success733 behaves like a package tracking event734 creates a gitlab tracking event search_package735 with skip set to 2736 behaves like returns a valid json search response737 returns a valid json response738 behaves like returning response status739 returns success740 with take set to 2741 behaves like returns a valid json search response742 returns a valid json response743 behaves like returning response status744 returns success745 without prereleases746 behaves like returns a valid json search response747 returns a valid json response748 behaves like returning response status749 returns success750 with empty search term751 behaves like returns a valid json search response752 returns a valid json response753 behaves like returning response status754 returns success755 with nil search term756 behaves like returns a valid json search response757 returns a valid json response758 behaves like returning response status759 returns success760 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized761 behaves like rejects nuget packages access762 for user type developer763 has the correct response header764 behaves like returning response status765 returns unauthorized766 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized767 behaves like rejects nuget packages access768 for user type guest769 has the correct response header770 behaves like returning response status771 returns unauthorized772 visibility_level: "PUBLIC", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "process nuget search request", expected_status: :success773 behaves like process nuget search request774 for user type anonymous775 behaves like returns a valid json search response776 returns a valid json response777 behaves like returning response status778 returns success779 behaves like a package tracking event780 creates a gitlab tracking event search_package781 with skip set to 2782 behaves like returns a valid json search response783 returns a valid json response784 behaves like returning response status785 returns success786 with take set to 2787 behaves like returns a valid json search response788 returns a valid json response789 behaves like returning response status790 returns success791 without prereleases792 behaves like returns a valid json search response793 returns a valid json response794 behaves like returning response status795 returns success796 with empty search term797 behaves like returns a valid json search response798 returns a valid json response799 behaves like returning response status800 returns success801 with nil search term802 behaves like returns a valid json search response803 returns a valid json response804 behaves like returning response status805 returns success806 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: true, shared_examples_name: "process nuget search request", expected_status: :success807 behaves like process nuget search request808 for user type developer809 behaves like returns a valid json search response810 returns a valid json response811 behaves like returning response status812 returns success813 behaves like a package tracking event814 creates a gitlab tracking event search_package815 with skip set to 2816 behaves like returns a valid json search response817 returns a valid json response818 behaves like returning response status819 returns success820 with take set to 2821 behaves like returns a valid json search response822 returns a valid json response823 behaves like returning response status824 returns success825 without prereleases826 behaves like returns a valid json search response827 returns a valid json response828 behaves like returning response status829 returns success830 with empty search term831 behaves like returns a valid json search response832 returns a valid json response833 behaves like returning response status834 returns success835 with nil search term836 behaves like returns a valid json search response837 returns a valid json response838 behaves like returning response status839 returns success840 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden841 behaves like rejects nuget packages access842 for user type guest843 behaves like returning response status844 returns forbidden845 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized846 behaves like rejects nuget packages access847 for user type developer848 has the correct response header849 behaves like returning response status850 returns unauthorized851 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized852 behaves like rejects nuget packages access853 for user type guest854 has the correct response header855 behaves like returning response status856 returns unauthorized857 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :not_found858 behaves like rejects nuget packages access859 for user type developer860 behaves like returning response status861 returns not_found862 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :not_found863 behaves like rejects nuget packages access864 for user type guest865 behaves like returning response status866 returns not_found867 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized868 behaves like rejects nuget packages access869 for user type developer870 has the correct response header871 behaves like returning response status872 returns unauthorized873 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized874 behaves like rejects nuget packages access875 for user type guest876 has the correct response header877 behaves like returning response status878 returns unauthorized879 visibility_level: "PRIVATE", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized880 behaves like rejects nuget packages access881 for user type anonymous882 has the correct response header883 behaves like returning response status884 returns unauthorized885 behaves like deploy token for package GET requests886 with deploy token headers887 valid token888 behaves like returning response status889 returns success890 invalid token891 behaves like returning response status892 returns unauthorized893 behaves like rejects nuget access with unknown target id894 with an unknown target895 as anonymous896 behaves like rejects nuget packages access897 for user type anonymous898 has the correct response header899 behaves like returning response status900 returns unauthorized901 as authenticated user902 behaves like rejects nuget packages access903 for user type anonymous904 behaves like returning response status905 returns not_found906 behaves like rejects nuget access with invalid target id907 with a target id with invalid integers908 id: "/../", status: :bad_request909 behaves like rejects nuget packages access910 for user type anonymous911 behaves like returning response status912 returns bad_request913 id: "", status: :not_found914 behaves like rejects nuget packages access915 for user type anonymous916 behaves like returning response status917 returns not_found918 id: "%20", status: :bad_request919 behaves like rejects nuget packages access920 for user type anonymous921 behaves like returning response status922 returns bad_request923 id: "%2e%2e%2f", status: :bad_request924 behaves like rejects nuget packages access925 for user type anonymous926 behaves like returning response status927 returns bad_request928 id: "NaN", status: :bad_request929 behaves like rejects nuget packages access930 for user type anonymous931 behaves like returning response status932 returns bad_request933 id: 1253, status: :unauthorized934 behaves like rejects nuget packages access935 for user type anonymous936 has the correct response header937 behaves like returning response status938 returns unauthorized939 id: "anything25", status: :bad_request940 behaves like rejects nuget packages access941 for user type anonymous942 behaves like returning response status943 returns bad_request944 behaves like accept get request on private project with access to package registry for everyone945 behaves like returning response status946 returns ok947 GET /api/v4/projects/:id/packages/nuget/download/*package_name/index948 with valid target949 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: true, shared_examples_name: "process nuget download versions request", expected_status: :success950 behaves like process nuget download versions request951 for user type developer952 behaves like returning response status953 returns success954 behaves like returns a valid nuget download versions json response955 returns a valid json response956 with invalid format957 behaves like rejects nuget packages access958 for user type anonymous959 behaves like returning response status960 returns not_found961 with lower case package name962 behaves like returning response status963 returns success964 behaves like returns a valid nuget download versions json response965 returns a valid json response966 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: true, shared_examples_name: "process nuget download versions request", expected_status: :success967 behaves like process nuget download versions request968 for user type guest969 behaves like returning response status970 returns success971 behaves like returns a valid nuget download versions json response972 returns a valid json response973 with invalid format974 behaves like rejects nuget packages access975 for user type anonymous976 behaves like returning response status977 returns not_found978 with lower case package name979 behaves like returning response status980 returns success981 behaves like returns a valid nuget download versions json response982 returns a valid json response983 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized984 behaves like rejects nuget packages access985 for user type developer986 has the correct response header987 behaves like returning response status988 returns unauthorized989 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized990 behaves like rejects nuget packages access991 for user type guest992 has the correct response header993 behaves like returning response status994 returns unauthorized995 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: true, shared_examples_name: "process nuget download versions request", expected_status: :success996 behaves like process nuget download versions request997 for user type developer998 behaves like returning response status999 returns success1000 behaves like returns a valid nuget download versions json response1001 returns a valid json response1002 with invalid format1003 behaves like rejects nuget packages access1004 for user type anonymous1005 behaves like returning response status1006 returns not_found1007 with lower case package name1008 behaves like returning response status1009 returns success1010 behaves like returns a valid nuget download versions json response1011 returns a valid json response1012 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: true, shared_examples_name: "process nuget download versions request", expected_status: :success1013 behaves like process nuget download versions request1014 for user type guest1015 behaves like returning response status1016 returns success1017 behaves like returns a valid nuget download versions json response1018 returns a valid json response1019 with invalid format1020 behaves like rejects nuget packages access1021 for user type anonymous1022 behaves like returning response status1023 returns not_found1024 with lower case package name1025 behaves like returning response status1026 returns success1027 behaves like returns a valid nuget download versions json response1028 returns a valid json response1029 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1030 behaves like rejects nuget packages access1031 for user type developer1032 has the correct response header1033 behaves like returning response status1034 returns unauthorized1035 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1036 behaves like rejects nuget packages access1037 for user type guest1038 has the correct response header1039 behaves like returning response status1040 returns unauthorized1041 visibility_level: "PUBLIC", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "process nuget download versions request", expected_status: :success1042 behaves like process nuget download versions request1043 for user type anonymous1044 behaves like returning response status1045 returns success1046 behaves like returns a valid nuget download versions json response1047 returns a valid json response1048 with invalid format1049 behaves like rejects nuget packages access1050 for user type anonymous1051 behaves like returning response status1052 returns not_found1053 with lower case package name1054 behaves like returning response status1055 returns success1056 behaves like returns a valid nuget download versions json response1057 returns a valid json response1058 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: true, shared_examples_name: "process nuget download versions request", expected_status: :success1059 behaves like process nuget download versions request1060 for user type developer1061 behaves like returning response status1062 returns success1063 behaves like returns a valid nuget download versions json response1064 returns a valid json response1065 with invalid format1066 behaves like rejects nuget packages access1067 for user type anonymous1068 behaves like returning response status1069 returns not_found1070 with lower case package name1071 behaves like returning response status1072 returns success1073 behaves like returns a valid nuget download versions json response1074 returns a valid json response1075 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden1076 behaves like rejects nuget packages access1077 for user type guest1078 behaves like returning response status1079 returns forbidden1080 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1081 behaves like rejects nuget packages access1082 for user type developer1083 has the correct response header1084 behaves like returning response status1085 returns unauthorized1086 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1087 behaves like rejects nuget packages access1088 for user type guest1089 has the correct response header1090 behaves like returning response status1091 returns unauthorized1092 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :not_found1093 behaves like rejects nuget packages access1094 for user type developer1095 behaves like returning response status1096 returns not_found1097 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :not_found1098 behaves like rejects nuget packages access1099 for user type guest1100 behaves like returning response status1101 returns not_found1102 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1103 behaves like rejects nuget packages access1104 for user type developer1105 has the correct response header1106 behaves like returning response status1107 returns unauthorized1108 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1109 behaves like rejects nuget packages access1110 for user type guest1111 has the correct response header1112 behaves like returning response status1113 returns unauthorized1114 visibility_level: "PRIVATE", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1115 behaves like rejects nuget packages access1116 for user type anonymous1117 has the correct response header1118 behaves like returning response status1119 returns unauthorized1120 behaves like deploy token for package GET requests1121 with deploy token headers1122 valid token1123 behaves like returning response status1124 returns success1125 invalid token1126 behaves like returning response status1127 returns unauthorized1128 behaves like rejects nuget access with unknown target id1129 with an unknown target1130 as anonymous1131 behaves like rejects nuget packages access1132 for user type anonymous1133 has the correct response header1134 behaves like returning response status1135 returns unauthorized1136 as authenticated user1137 behaves like rejects nuget packages access1138 for user type anonymous1139 behaves like returning response status1140 returns not_found1141 behaves like rejects nuget access with invalid target id1142 with a target id with invalid integers1143 id: "/../", status: :bad_request1144 behaves like rejects nuget packages access1145 for user type anonymous1146 behaves like returning response status1147 returns bad_request1148 id: "", status: :not_found1149 behaves like rejects nuget packages access1150 for user type anonymous1151 behaves like returning response status1152 returns not_found1153 id: "%20", status: :bad_request1154 behaves like rejects nuget packages access1155 for user type anonymous1156 behaves like returning response status1157 returns bad_request1158 id: "%2e%2e%2f", status: :bad_request1159 behaves like rejects nuget packages access1160 for user type anonymous1161 behaves like returning response status1162 returns bad_request1163 id: "NaN", status: :bad_request1164 behaves like rejects nuget packages access1165 for user type anonymous1166 behaves like returning response status1167 returns bad_request1168 id: 1253, status: :unauthorized1169 behaves like rejects nuget packages access1170 for user type anonymous1171 has the correct response header1172 behaves like returning response status1173 returns unauthorized1174 id: "anything25", status: :bad_request1175 behaves like rejects nuget packages access1176 for user type anonymous1177 behaves like returning response status1178 returns bad_request1179 behaves like accept get request on private project with access to package registry for everyone1180 behaves like returning response status1181 returns ok1182 GET /api/v4/projects/:id/packages/nuget/download/*package_name/*package_version/*package_filename1183 with valid target1184 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: true, shared_examples_name: "process nuget download content request", expected_status: :success1185 behaves like process nuget download content request1186 for user type developer1187 returns a valid package archive1188 behaves like returning response status1189 returns success1190 behaves like a package tracking event1191 creates a gitlab tracking event pull_package1192 behaves like bumping the package last downloaded at field1193 bumps last_downloaded_at1194 with invalid format1195 behaves like rejects nuget packages access1196 for user type anonymous1197 behaves like returning response status1198 returns not_found1199 with symbol package1200 returns a valid package archive1201 behaves like a package tracking event1202 creates a gitlab tracking event pull_symbol_package1203 behaves like bumping the package last downloaded at field1204 bumps last_downloaded_at1205 with lower case package name1206 returns a valid package archive1207 behaves like returning response status1208 returns success1209 with normalized package version1210 returns a valid package archive1211 behaves like returning response status1212 returns success1213 behaves like bumping the package last downloaded at field1214 bumps last_downloaded_at1215 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: true, shared_examples_name: "process nuget download content request", expected_status: :success1216 behaves like process nuget download content request1217 for user type guest1218 returns a valid package archive1219 behaves like returning response status1220 returns success1221 behaves like a package tracking event1222 creates a gitlab tracking event pull_package1223 behaves like bumping the package last downloaded at field1224 bumps last_downloaded_at1225 with invalid format1226 behaves like rejects nuget packages access1227 for user type anonymous1228 behaves like returning response status1229 returns not_found1230 with symbol package1231 returns a valid package archive1232 behaves like a package tracking event1233 creates a gitlab tracking event pull_symbol_package1234 behaves like bumping the package last downloaded at field1235 bumps last_downloaded_at1236 with lower case package name1237 returns a valid package archive1238 behaves like returning response status1239 returns success1240 with normalized package version1241 returns a valid package archive1242 behaves like returning response status1243 returns success1244 behaves like bumping the package last downloaded at field1245 bumps last_downloaded_at1246 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1247 behaves like rejects nuget packages access1248 for user type developer1249 has the correct response header1250 behaves like returning response status1251 returns unauthorized1252 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1253 behaves like rejects nuget packages access1254 for user type guest1255 has the correct response header1256 behaves like returning response status1257 returns unauthorized1258 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: true, shared_examples_name: "process nuget download content request", expected_status: :success1259 behaves like process nuget download content request1260 for user type developer1261 returns a valid package archive1262 behaves like returning response status1263 returns success1264 behaves like a package tracking event1265 creates a gitlab tracking event pull_package1266 behaves like bumping the package last downloaded at field1267 bumps last_downloaded_at1268 with invalid format1269 behaves like rejects nuget packages access1270 for user type anonymous1271 behaves like returning response status1272 returns not_found1273 with symbol package1274 returns a valid package archive1275 behaves like a package tracking event1276 creates a gitlab tracking event pull_symbol_package1277 behaves like bumping the package last downloaded at field1278 bumps last_downloaded_at1279 with lower case package name1280 returns a valid package archive1281 behaves like returning response status1282 returns success1283 with normalized package version1284 returns a valid package archive1285 behaves like returning response status1286 returns success1287 behaves like bumping the package last downloaded at field1288 bumps last_downloaded_at1289 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: true, shared_examples_name: "process nuget download content request", expected_status: :success1290 behaves like process nuget download content request1291 for user type guest1292 returns a valid package archive1293 behaves like returning response status1294 returns success1295 behaves like a package tracking event1296 creates a gitlab tracking event pull_package1297 behaves like bumping the package last downloaded at field1298 bumps last_downloaded_at1299 with invalid format1300 behaves like rejects nuget packages access1301 for user type anonymous1302 behaves like returning response status1303 returns not_found1304 with symbol package1305 returns a valid package archive1306 behaves like a package tracking event1307 creates a gitlab tracking event pull_symbol_package1308 behaves like bumping the package last downloaded at field1309 bumps last_downloaded_at1310 with lower case package name1311 returns a valid package archive1312 behaves like returning response status1313 returns success1314 with normalized package version1315 returns a valid package archive1316 behaves like returning response status1317 returns success1318 behaves like bumping the package last downloaded at field1319 bumps last_downloaded_at1320 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1321 behaves like rejects nuget packages access1322 for user type developer1323 has the correct response header1324 behaves like returning response status1325 returns unauthorized1326 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1327 behaves like rejects nuget packages access1328 for user type guest1329 has the correct response header1330 behaves like returning response status1331 returns unauthorized1332 visibility_level: "PUBLIC", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "process nuget download content request", expected_status: :success1333 behaves like process nuget download content request1334 for user type anonymous1335 returns a valid package archive1336 behaves like returning response status1337 returns success1338 behaves like a package tracking event1339 creates a gitlab tracking event pull_package1340 behaves like bumping the package last downloaded at field1341 bumps last_downloaded_at1342 with invalid format1343 behaves like rejects nuget packages access1344 for user type anonymous1345 behaves like returning response status1346 returns not_found1347 with symbol package1348 returns a valid package archive1349 behaves like a package tracking event1350 creates a gitlab tracking event pull_symbol_package1351 behaves like bumping the package last downloaded at field1352 bumps last_downloaded_at1353 with lower case package name1354 returns a valid package archive1355 behaves like returning response status1356 returns success1357 with normalized package version1358 returns a valid package archive1359 behaves like returning response status1360 returns success1361 behaves like bumping the package last downloaded at field1362 bumps last_downloaded_at1363 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: true, shared_examples_name: "process nuget download content request", expected_status: :success1364 behaves like process nuget download content request1365 for user type developer1366 returns a valid package archive1367 behaves like returning response status1368 returns success1369 behaves like a package tracking event1370 creates a gitlab tracking event pull_package1371 behaves like bumping the package last downloaded at field1372 bumps last_downloaded_at1373 with invalid format1374 behaves like rejects nuget packages access1375 for user type anonymous1376 behaves like returning response status1377 returns not_found1378 with symbol package1379 returns a valid package archive1380 behaves like a package tracking event1381 creates a gitlab tracking event pull_symbol_package1382 behaves like bumping the package last downloaded at field1383 bumps last_downloaded_at1384 with lower case package name1385 returns a valid package archive1386 behaves like returning response status1387 returns success1388 with normalized package version1389 returns a valid package archive1390 behaves like returning response status1391 returns success1392 behaves like bumping the package last downloaded at field1393 bumps last_downloaded_at1394 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden1395 behaves like rejects nuget packages access1396 for user type guest1397 behaves like returning response status1398 returns forbidden1399 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1400 behaves like rejects nuget packages access1401 for user type developer1402 has the correct response header1403 behaves like returning response status1404 returns unauthorized1405 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1406 behaves like rejects nuget packages access1407 for user type guest1408 has the correct response header1409 behaves like returning response status1410 returns unauthorized1411 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :not_found1412 behaves like rejects nuget packages access1413 for user type developer1414 behaves like returning response status1415 returns not_found1416 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :not_found1417 behaves like rejects nuget packages access1418 for user type guest1419 behaves like returning response status1420 returns not_found1421 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1422 behaves like rejects nuget packages access1423 for user type developer1424 has the correct response header1425 behaves like returning response status1426 returns unauthorized1427 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: false, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1428 behaves like rejects nuget packages access1429 for user type guest1430 has the correct response header1431 behaves like returning response status1432 returns unauthorized1433 visibility_level: "PRIVATE", user_role: :anonymous, member: false, user_token: true, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1434 behaves like rejects nuget packages access1435 for user type anonymous1436 has the correct response header1437 behaves like returning response status1438 returns unauthorized1439 behaves like accept get request on private project with access to package registry for everyone1440 behaves like returning response status1441 returns ok1442 behaves like deploy token for package GET requests1443 with deploy token headers1444 valid token1445 behaves like returning response status1446 returns success1447 invalid token1448 behaves like returning response status1449 returns unauthorized1450 behaves like rejects nuget access with unknown target id1451 with an unknown target1452 as anonymous1453 behaves like rejects nuget packages access1454 for user type anonymous1455 has the correct response header1456 behaves like returning response status1457 returns unauthorized1458 as authenticated user1459 behaves like rejects nuget packages access1460 for user type anonymous1461 behaves like returning response status1462 returns not_found1463 behaves like rejects nuget access with invalid target id1464 with a target id with invalid integers1465 id: "/../", status: :bad_request1466 behaves like rejects nuget packages access1467 for user type anonymous1468 behaves like returning response status1469 returns bad_request1470 id: "", status: :not_found1471 behaves like rejects nuget packages access1472 for user type anonymous1473 behaves like returning response status1474 returns not_found1475 id: "%20", status: :bad_request1476 behaves like rejects nuget packages access1477 for user type anonymous1478 behaves like returning response status1479 returns bad_request1480 id: "%2e%2e%2f", status: :bad_request1481 behaves like rejects nuget packages access1482 for user type anonymous1483 behaves like returning response status1484 returns bad_request1485 id: "NaN", status: :bad_request1486 behaves like rejects nuget packages access1487 for user type anonymous1488 behaves like returning response status1489 returns bad_request1490 id: 1253, status: :unauthorized1491 behaves like rejects nuget packages access1492 for user type anonymous1493 has the correct response header1494 behaves like returning response status1495 returns unauthorized1496 id: "anything25", status: :bad_request1497 behaves like rejects nuget packages access1498 for user type anonymous1499 behaves like returning response status1500 returns bad_request1501 GET /api/v4/projects/:id/packages/nuget/v2/FindPackagesById()1502 behaves like nuget serialize odata package endpoint1503 is expected to have request urgency :low1504 returns a valid xml response and invokes OdataPackageEntryService1505 behaves like returning response status1506 returns success1507 with invalid package name1508 behaves like returning response status1509 returns bad_request1510 with invalid package name1511 behaves like returning response status1512 returns bad_request1513 with invalid package name %201514 behaves like returning response status1515 returns bad_request1516 with invalid package name ..%2F..1517 behaves like returning response status1518 returns bad_request1519 with invalid package name ../..1520 behaves like returning response status1521 returns bad_request1522 with missing required params1523 behaves like returning response status1524 returns bad_request1525 GET /api/v4/projects/:id/packages/nuget/v2/Packages()1526 behaves like nuget serialize odata package endpoint1527 is expected to have request urgency :low1528 returns a valid xml response and invokes OdataPackageEntryService1529 behaves like returning response status1530 returns success1531 with invalid package name1532 behaves like returning response status1533 returns bad_request1534 with invalid package name1535 behaves like returning response status1536 returns bad_request1537 with invalid package name %201538 behaves like returning response status1539 returns bad_request1540 with invalid package name ..%2F..1541 behaves like returning response status1542 returns bad_request1543 with invalid package name ../..1544 behaves like returning response status1545 returns bad_request1546 with missing required params1547 behaves like returning response status1548 returns bad_request1549 GET /api/v4/projects/:id/packages/nuget/v2/Packages(Id='*',Version='*')1550 behaves like nuget serialize odata package endpoint1551 is expected to have request urgency :low1552 returns a valid xml response and invokes OdataPackageEntryService1553 behaves like returning response status1554 returns success1555 with invalid package name1556 behaves like returning response status1557 returns bad_request1558 with invalid package name1559 behaves like returning response status1560 returns bad_request1561 with invalid package name %201562 behaves like returning response status1563 returns bad_request1564 with invalid package name ..%2F..1565 behaves like returning response status1566 returns bad_request1567 with invalid package name ../..1568 behaves like returning response status1569 returns bad_request1570 with missing required params1571 behaves like returning response status1572 returns bad_request1573 with invalid package version1574 with invalid package version1575 behaves like returning response status1576 returns bad_request1577 with invalid package version 11578 behaves like returning response status1579 returns bad_request1580 with invalid package version 1./2.31581 behaves like returning response status1582 returns bad_request1583 with invalid package version %201584 behaves like returning response status1585 returns bad_request1586 with invalid package version ..%2F..1587 behaves like returning response status1588 returns bad_request1589 with invalid package version ../..1590 behaves like returning response status1591 returns bad_request1592 PUT /api/v4/projects/:id/packages/nuget/authorize1593 behaves like nuget authorize upload endpoint1594 is expected to have request urgency :low1595 with valid project1596 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: true, sent_through: :basic_auth, shared_examples_name: "process nuget workhorse authorization", expected_status: :success1597 behaves like process nuget workhorse authorization1598 for user type developer1599 has the proper content type1600 behaves like returning response status1601 returns success1602 with a request that bypassed gitlab-workhorse1603 behaves like returning response status1604 returns forbidden1605 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: true, sent_through: :basic_auth, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden1606 behaves like rejects nuget packages access1607 for user type guest1608 behaves like returning response status1609 returns forbidden1610 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: false, sent_through: :basic_auth, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1611 behaves like rejects nuget packages access1612 for user type developer1613 has the correct response header1614 behaves like returning response status1615 returns unauthorized1616 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: false, sent_through: :basic_auth, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1617 behaves like rejects nuget packages access1618 for user type guest1619 has the correct response header1620 behaves like returning response status1621 returns unauthorized1622 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: true, sent_through: :basic_auth, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden1623 behaves like rejects nuget packages access1624 for user type developer1625 behaves like returning response status1626 returns forbidden1627 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: true, sent_through: :basic_auth, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden1628 behaves like rejects nuget packages access1629 for user type guest1630 behaves like returning response status1631 returns forbidden1632 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: false, sent_through: :basic_auth, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1633 behaves like rejects nuget packages access1634 for user type developer1635 has the correct response header1636 behaves like returning response status1637 returns unauthorized1638 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: false, sent_through: :basic_auth, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1639 behaves like rejects nuget packages access1640 for user type guest1641 has the correct response header1642 behaves like returning response status1643 returns unauthorized1644 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: true, sent_through: :basic_auth, shared_examples_name: "process nuget workhorse authorization", expected_status: :success1645 behaves like process nuget workhorse authorization1646 for user type developer1647 has the proper content type1648 behaves like returning response status1649 returns success1650 with a request that bypassed gitlab-workhorse1651 behaves like returning response status1652 returns forbidden1653 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: true, sent_through: :basic_auth, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden1654 behaves like rejects nuget packages access1655 for user type guest1656 behaves like returning response status1657 returns forbidden1658 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: false, sent_through: :basic_auth, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1659 behaves like rejects nuget packages access1660 for user type developer1661 has the correct response header1662 behaves like returning response status1663 returns unauthorized1664 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: false, sent_through: :basic_auth, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1665 behaves like rejects nuget packages access1666 for user type guest1667 has the correct response header1668 behaves like returning response status1669 returns unauthorized1670 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: true, sent_through: :basic_auth, shared_examples_name: "rejects nuget packages access", expected_status: :not_found1671 behaves like rejects nuget packages access1672 for user type developer1673 behaves like returning response status1674 returns not_found1675 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: true, sent_through: :basic_auth, shared_examples_name: "rejects nuget packages access", expected_status: :not_found1676 behaves like rejects nuget packages access1677 for user type guest1678 behaves like returning response status1679 returns not_found1680 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: false, sent_through: :basic_auth, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1681 behaves like rejects nuget packages access1682 for user type developer1683 has the correct response header1684 behaves like returning response status1685 returns unauthorized1686 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: false, sent_through: :basic_auth, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1687 behaves like rejects nuget packages access1688 for user type guest1689 has the correct response header1690 behaves like returning response status1691 returns unauthorized1692 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: true, sent_through: :api_key, shared_examples_name: "process nuget workhorse authorization", expected_status: :success1693 behaves like process nuget workhorse authorization1694 for user type developer1695 has the proper content type1696 behaves like returning response status1697 returns success1698 with a request that bypassed gitlab-workhorse1699 behaves like returning response status1700 returns forbidden1701 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: true, sent_through: :api_key, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden1702 behaves like rejects nuget packages access1703 for user type guest1704 behaves like returning response status1705 returns forbidden1706 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: false, sent_through: :api_key, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1707 behaves like rejects nuget packages access1708 for user type developer1709 has the correct response header1710 behaves like returning response status1711 returns unauthorized1712 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: false, sent_through: :api_key, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1713 behaves like rejects nuget packages access1714 for user type guest1715 has the correct response header1716 behaves like returning response status1717 returns unauthorized1718 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: true, sent_through: :api_key, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden1719 behaves like rejects nuget packages access1720 for user type developer1721 behaves like returning response status1722 returns forbidden1723 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: true, sent_through: :api_key, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden1724 behaves like rejects nuget packages access1725 for user type guest1726 behaves like returning response status1727 returns forbidden1728 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: false, sent_through: :api_key, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1729 behaves like rejects nuget packages access1730 for user type developer1731 has the correct response header1732 behaves like returning response status1733 returns unauthorized1734 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: false, sent_through: :api_key, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1735 behaves like rejects nuget packages access1736 for user type guest1737 has the correct response header1738 behaves like returning response status1739 returns unauthorized1740 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: true, sent_through: :api_key, shared_examples_name: "process nuget workhorse authorization", expected_status: :success1741 behaves like process nuget workhorse authorization1742 for user type developer1743 has the proper content type1744 behaves like returning response status1745 returns success1746 with a request that bypassed gitlab-workhorse1747 behaves like returning response status1748 returns forbidden1749 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: true, sent_through: :api_key, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden1750 behaves like rejects nuget packages access1751 for user type guest1752 behaves like returning response status1753 returns forbidden1754 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: false, sent_through: :api_key, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1755 behaves like rejects nuget packages access1756 for user type developer1757 has the correct response header1758 behaves like returning response status1759 returns unauthorized1760 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: false, sent_through: :api_key, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1761 behaves like rejects nuget packages access1762 for user type guest1763 has the correct response header1764 behaves like returning response status1765 returns unauthorized1766 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: true, sent_through: :api_key, shared_examples_name: "rejects nuget packages access", expected_status: :not_found1767 behaves like rejects nuget packages access1768 for user type developer1769 behaves like returning response status1770 returns not_found1771 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: true, sent_through: :api_key, shared_examples_name: "rejects nuget packages access", expected_status: :not_found1772 behaves like rejects nuget packages access1773 for user type guest1774 behaves like returning response status1775 returns not_found1776 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: false, sent_through: :api_key, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1777 behaves like rejects nuget packages access1778 for user type developer1779 has the correct response header1780 behaves like returning response status1781 returns unauthorized1782 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: false, sent_through: :api_key, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1783 behaves like rejects nuget packages access1784 for user type guest1785 has the correct response header1786 behaves like returning response status1787 returns unauthorized1788 visibility_level: "PUBLIC", user_role: :anonymous, member: false, user_token: true, sent_through: nil, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1789 behaves like rejects nuget packages access1790 for user type anonymous1791 has the correct response header1792 behaves like returning response status1793 returns unauthorized1794 visibility_level: "PRIVATE", user_role: :anonymous, member: false, user_token: true, sent_through: nil, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1795 behaves like rejects nuget packages access1796 for user type anonymous1797 has the correct response header1798 behaves like returning response status1799 returns unauthorized1800 behaves like deploy token for package uploads1801 with deploy token headers1802 valid token1803 behaves like returning response status1804 returns success1805 invalid token1806 behaves like returning response status1807 returns unauthorized1808 behaves like job token for package uploads1809 with job token headers1810 valid token1811 behaves like returning response status1812 returns success1813 invalid token1814 behaves like returning response status1815 returns unauthorized1816 invalid user1817 behaves like returning response status1818 returns unauthorized1819 behaves like rejects nuget access with unknown target id1820 with an unknown target1821 as anonymous1822 behaves like rejects nuget packages access1823 for user type anonymous1824 has the correct response header1825 behaves like returning response status1826 returns unauthorized1827 as authenticated user1828 behaves like rejects nuget packages access1829 for user type anonymous1830 behaves like returning response status1831 returns not_found1832 behaves like rejects nuget access with invalid target id1833 with a target id with invalid integers1834 id: "/../", status: :bad_request1835 behaves like rejects nuget packages access1836 for user type anonymous1837 behaves like returning response status1838 returns bad_request1839 id: "", status: :not_found1840 behaves like rejects nuget packages access1841 for user type anonymous1842 behaves like returning response status1843 returns not_found1844 id: "%20", status: :bad_request1845 behaves like rejects nuget packages access1846 for user type anonymous1847 behaves like returning response status1848 returns bad_request1849 id: "%2e%2e%2f", status: :bad_request1850 behaves like rejects nuget packages access1851 for user type anonymous1852 behaves like returning response status1853 returns bad_request1854 id: "NaN", status: :bad_request1855 behaves like rejects nuget packages access1856 for user type anonymous1857 behaves like returning response status1858 returns bad_request1859 id: 1253, status: :unauthorized1860 behaves like rejects nuget packages access1861 for user type anonymous1862 has the correct response header1863 behaves like returning response status1864 returns unauthorized1865 id: "anything25", status: :bad_request1866 behaves like rejects nuget packages access1867 for user type anonymous1868 behaves like returning response status1869 returns bad_request1870 PUT /api/v4/projects/:id/packages/nuget1871 behaves like nuget upload endpoint1872 is expected to have request urgency :low1873 with valid project1874 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: true, sent_through: :basic_auth, shared_examples_name: "process nuget upload", expected_status: :created1875 behaves like process nuget upload1876 for user type developer1877 with object storage disabled1878 without a file from workhorse1879 behaves like returning response status1880 returns bad_request1881 with correct params1882 behaves like package workhorse uploads1883 without a workhorse header1884 logs an error1885 behaves like returning response status1886 returns forbidden1887 behaves like creates nuget package files1888 creates package files1889 behaves like a package tracking event1890 creates a gitlab tracking event push_package1891 with object storage enabled1892 and direct upload enabled1893 behaves like creates nuget package files1894 creates package files1895 with invalid remote_id: 1231231896 behaves like returning response status1897 returns forbidden1898 with invalid remote_id: ../../1231231899 behaves like returning response status1900 returns forbidden1901 with crafted package.path param1902 does not create a package file1903 behaves like returning response status1904 returns bad_request1905 and direct upload disabled1906 behaves like creates nuget package files1907 creates package files1908 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: true, sent_through: :basic_auth, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden1909 behaves like rejects nuget packages access1910 for user type guest1911 behaves like returning response status1912 returns forbidden1913 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: false, sent_through: :basic_auth, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1914 behaves like rejects nuget packages access1915 for user type developer1916 has the correct response header1917 behaves like returning response status1918 returns unauthorized1919 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: false, sent_through: :basic_auth, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1920 behaves like rejects nuget packages access1921 for user type guest1922 has the correct response header1923 behaves like returning response status1924 returns unauthorized1925 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: true, sent_through: :basic_auth, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden1926 behaves like rejects nuget packages access1927 for user type developer1928 behaves like returning response status1929 returns forbidden1930 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: true, sent_through: :basic_auth, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden1931 behaves like rejects nuget packages access1932 for user type guest1933 behaves like returning response status1934 returns forbidden1935 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: false, sent_through: :basic_auth, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1936 behaves like rejects nuget packages access1937 for user type developer1938 has the correct response header1939 behaves like returning response status1940 returns unauthorized1941 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: false, sent_through: :basic_auth, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1942 behaves like rejects nuget packages access1943 for user type guest1944 has the correct response header1945 behaves like returning response status1946 returns unauthorized1947 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: true, sent_through: :basic_auth, shared_examples_name: "process nuget upload", expected_status: :created1948 behaves like process nuget upload1949 for user type developer1950 with object storage disabled1951 without a file from workhorse1952 behaves like returning response status1953 returns bad_request1954 with correct params1955 behaves like package workhorse uploads1956 without a workhorse header1957 logs an error1958 behaves like returning response status1959 returns forbidden1960 behaves like creates nuget package files1961 creates package files1962 behaves like a package tracking event1963 creates a gitlab tracking event push_package1964 with object storage enabled1965 and direct upload enabled1966 behaves like creates nuget package files1967 creates package files1968 with invalid remote_id: 1231231969 behaves like returning response status1970 returns forbidden1971 with invalid remote_id: ../../1231231972 behaves like returning response status1973 returns forbidden1974 with crafted package.path param1975 does not create a package file1976 behaves like returning response status1977 returns bad_request1978 and direct upload disabled1979 behaves like creates nuget package files1980 creates package files1981 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: true, sent_through: :basic_auth, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden1982 behaves like rejects nuget packages access1983 for user type guest1984 behaves like returning response status1985 returns forbidden1986 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: false, sent_through: :basic_auth, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1987 behaves like rejects nuget packages access1988 for user type developer1989 has the correct response header1990 behaves like returning response status1991 returns unauthorized1992 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: false, sent_through: :basic_auth, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized1993 behaves like rejects nuget packages access1994 for user type guest1995 has the correct response header1996 behaves like returning response status1997 returns unauthorized1998 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: true, sent_through: :basic_auth, shared_examples_name: "rejects nuget packages access", expected_status: :not_found1999 behaves like rejects nuget packages access2000 for user type developer2001 behaves like returning response status2002 returns not_found2003 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: true, sent_through: :basic_auth, shared_examples_name: "rejects nuget packages access", expected_status: :not_found2004 behaves like rejects nuget packages access2005 for user type guest2006 behaves like returning response status2007 returns not_found2008 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: false, sent_through: :basic_auth, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2009 behaves like rejects nuget packages access2010 for user type developer2011 has the correct response header2012 behaves like returning response status2013 returns unauthorized2014 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: false, sent_through: :basic_auth, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2015 behaves like rejects nuget packages access2016 for user type guest2017 has the correct response header2018 behaves like returning response status2019 returns unauthorized2020 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: true, sent_through: :api_key, shared_examples_name: "process nuget upload", expected_status: :created2021 behaves like process nuget upload2022 for user type developer2023 with object storage disabled2024 without a file from workhorse2025 behaves like returning response status2026 returns bad_request2027 with correct params2028 behaves like package workhorse uploads2029 without a workhorse header2030 logs an error2031 behaves like returning response status2032 returns forbidden2033 behaves like creates nuget package files2034 creates package files2035 behaves like a package tracking event2036 creates a gitlab tracking event push_package2037 with object storage enabled2038 and direct upload enabled2039 behaves like creates nuget package files2040 creates package files2041 with invalid remote_id: 1231232042 behaves like returning response status2043 returns forbidden2044 with invalid remote_id: ../../1231232045 behaves like returning response status2046 returns forbidden2047 with crafted package.path param2048 does not create a package file2049 behaves like returning response status2050 returns bad_request2051 and direct upload disabled2052 behaves like creates nuget package files2053 creates package files2054 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: true, sent_through: :api_key, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden2055 behaves like rejects nuget packages access2056 for user type guest2057 behaves like returning response status2058 returns forbidden2059 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: false, sent_through: :api_key, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2060 behaves like rejects nuget packages access2061 for user type developer2062 has the correct response header2063 behaves like returning response status2064 returns unauthorized2065 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: false, sent_through: :api_key, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2066 behaves like rejects nuget packages access2067 for user type guest2068 has the correct response header2069 behaves like returning response status2070 returns unauthorized2071 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: true, sent_through: :api_key, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden2072 behaves like rejects nuget packages access2073 for user type developer2074 behaves like returning response status2075 returns forbidden2076 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: true, sent_through: :api_key, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden2077 behaves like rejects nuget packages access2078 for user type guest2079 behaves like returning response status2080 returns forbidden2081 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: false, sent_through: :api_key, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2082 behaves like rejects nuget packages access2083 for user type developer2084 has the correct response header2085 behaves like returning response status2086 returns unauthorized2087 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: false, sent_through: :api_key, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2088 behaves like rejects nuget packages access2089 for user type guest2090 has the correct response header2091 behaves like returning response status2092 returns unauthorized2093 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: true, sent_through: :api_key, shared_examples_name: "process nuget upload", expected_status: :created2094 behaves like process nuget upload2095 for user type developer2096 with object storage disabled2097 without a file from workhorse2098 behaves like returning response status2099 returns bad_request2100 with correct params2101 behaves like package workhorse uploads2102 without a workhorse header2103 logs an error2104 behaves like returning response status2105 returns forbidden2106 behaves like creates nuget package files2107 creates package files2108 behaves like a package tracking event2109 creates a gitlab tracking event push_package2110 with object storage enabled2111 and direct upload enabled2112 behaves like creates nuget package files2113 creates package files2114 with invalid remote_id: 1231232115 behaves like returning response status2116 returns forbidden2117 with invalid remote_id: ../../1231232118 behaves like returning response status2119 returns forbidden2120 with crafted package.path param2121 does not create a package file2122 behaves like returning response status2123 returns bad_request2124 and direct upload disabled2125 behaves like creates nuget package files2126 creates package files2127 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: true, sent_through: :api_key, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden2128 behaves like rejects nuget packages access2129 for user type guest2130 behaves like returning response status2131 returns forbidden2132 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: false, sent_through: :api_key, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2133 behaves like rejects nuget packages access2134 for user type developer2135 has the correct response header2136 behaves like returning response status2137 returns unauthorized2138 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: false, sent_through: :api_key, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2139 behaves like rejects nuget packages access2140 for user type guest2141 has the correct response header2142 behaves like returning response status2143 returns unauthorized2144 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: true, sent_through: :api_key, shared_examples_name: "rejects nuget packages access", expected_status: :not_found2145 behaves like rejects nuget packages access2146 for user type developer2147 behaves like returning response status2148 returns not_found2149 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: true, sent_through: :api_key, shared_examples_name: "rejects nuget packages access", expected_status: :not_found2150 behaves like rejects nuget packages access2151 for user type guest2152 behaves like returning response status2153 returns not_found2154 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: false, sent_through: :api_key, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2155 behaves like rejects nuget packages access2156 for user type developer2157 has the correct response header2158 behaves like returning response status2159 returns unauthorized2160 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: false, sent_through: :api_key, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2161 behaves like rejects nuget packages access2162 for user type guest2163 has the correct response header2164 behaves like returning response status2165 returns unauthorized2166 visibility_level: "PUBLIC", user_role: :anonymous, member: false, user_token: true, sent_through: nil, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2167 behaves like rejects nuget packages access2168 for user type anonymous2169 has the correct response header2170 behaves like returning response status2171 returns unauthorized2172 visibility_level: "PRIVATE", user_role: :anonymous, member: false, user_token: true, sent_through: nil, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2173 behaves like rejects nuget packages access2174 for user type anonymous2175 has the correct response header2176 behaves like returning response status2177 returns unauthorized2178 behaves like deploy token for package uploads2179 with deploy token headers2180 valid token2181 behaves like returning response status2182 returns success2183 invalid token2184 behaves like returning response status2185 returns unauthorized2186 behaves like job token for package uploads2187 with job token headers2188 valid token2189 creates a package with build info2190 behaves like returning response status2191 returns success2192 invalid token2193 behaves like returning response status2194 returns unauthorized2195 invalid user2196 behaves like returning response status2197 returns unauthorized2198 behaves like rejects nuget access with unknown target id2199 with an unknown target2200 as anonymous2201 behaves like rejects nuget packages access2202 for user type anonymous2203 has the correct response header2204 behaves like returning response status2205 returns unauthorized2206 as authenticated user2207 behaves like rejects nuget packages access2208 for user type anonymous2209 behaves like returning response status2210 returns not_found2211 behaves like rejects nuget access with invalid target id2212 with a target id with invalid integers2213 id: "/../", status: :bad_request2214 behaves like rejects nuget packages access2215 for user type anonymous2216 behaves like returning response status2217 returns bad_request2218 id: "", status: :not_found2219 behaves like rejects nuget packages access2220 for user type anonymous2221 behaves like returning response status2222 returns not_found2223 id: "%20", status: :bad_request2224 behaves like rejects nuget packages access2225 for user type anonymous2226 behaves like returning response status2227 returns bad_request2228 id: "%2e%2e%2f", status: :bad_request2229 behaves like rejects nuget packages access2230 for user type anonymous2231 behaves like returning response status2232 returns bad_request2233 id: "NaN", status: :bad_request2234 behaves like rejects nuget packages access2235 for user type anonymous2236 behaves like returning response status2237 returns bad_request2238 id: 1253, status: :unauthorized2239 behaves like rejects nuget packages access2240 for user type anonymous2241 has the correct response header2242 behaves like returning response status2243 returns unauthorized2244 id: "anything25", status: :bad_request2245 behaves like rejects nuget packages access2246 for user type anonymous2247 behaves like returning response status2248 returns bad_request2249 file size above maximum limit2250 behaves like returning response status2251 returns bad_request2252 when ObjectStorage::RemoteStoreError is raised2253 behaves like returning response status2254 returns forbidden2255 when package duplicates are not allowed2256 behaves like returning response status2257 returns conflict2258 when exception_regex is set2259 behaves like returning response status2260 returns created2261 when nuget_duplicates_option feature flag is disabled2262 behaves like returning response status2263 returns created2264 PUT /api/v4/projects/:id/packages/nuget/symbolpackage/authorize2265 behaves like nuget authorize upload endpoint2266 is expected to have request urgency :low2267 with valid project2268 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: true, sent_through: :basic_auth, shared_examples_name: "process nuget workhorse authorization", expected_status: :success2269 behaves like process nuget workhorse authorization2270 for user type developer2271 has the proper content type2272 behaves like returning response status2273 returns success2274 with a request that bypassed gitlab-workhorse2275 behaves like returning response status2276 returns forbidden2277 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: true, sent_through: :basic_auth, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden2278 behaves like rejects nuget packages access2279 for user type guest2280 behaves like returning response status2281 returns forbidden2282 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: false, sent_through: :basic_auth, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2283 behaves like rejects nuget packages access2284 for user type developer2285 has the correct response header2286 behaves like returning response status2287 returns unauthorized2288 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: false, sent_through: :basic_auth, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2289 behaves like rejects nuget packages access2290 for user type guest2291 has the correct response header2292 behaves like returning response status2293 returns unauthorized2294 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: true, sent_through: :basic_auth, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden2295 behaves like rejects nuget packages access2296 for user type developer2297 behaves like returning response status2298 returns forbidden2299 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: true, sent_through: :basic_auth, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden2300 behaves like rejects nuget packages access2301 for user type guest2302 behaves like returning response status2303 returns forbidden2304 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: false, sent_through: :basic_auth, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2305 behaves like rejects nuget packages access2306 for user type developer2307 has the correct response header2308 behaves like returning response status2309 returns unauthorized2310 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: false, sent_through: :basic_auth, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2311 behaves like rejects nuget packages access2312 for user type guest2313 has the correct response header2314 behaves like returning response status2315 returns unauthorized2316 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: true, sent_through: :basic_auth, shared_examples_name: "process nuget workhorse authorization", expected_status: :success2317 behaves like process nuget workhorse authorization2318 for user type developer2319 has the proper content type2320 behaves like returning response status2321 returns success2322 with a request that bypassed gitlab-workhorse2323 behaves like returning response status2324 returns forbidden2325 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: true, sent_through: :basic_auth, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden2326 behaves like rejects nuget packages access2327 for user type guest2328 behaves like returning response status2329 returns forbidden2330 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: false, sent_through: :basic_auth, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2331 behaves like rejects nuget packages access2332 for user type developer2333 has the correct response header2334 behaves like returning response status2335 returns unauthorized2336 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: false, sent_through: :basic_auth, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2337 behaves like rejects nuget packages access2338 for user type guest2339 has the correct response header2340 behaves like returning response status2341 returns unauthorized2342 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: true, sent_through: :basic_auth, shared_examples_name: "rejects nuget packages access", expected_status: :not_found2343 behaves like rejects nuget packages access2344 for user type developer2345 behaves like returning response status2346 returns not_found2347 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: true, sent_through: :basic_auth, shared_examples_name: "rejects nuget packages access", expected_status: :not_found2348 behaves like rejects nuget packages access2349 for user type guest2350 behaves like returning response status2351 returns not_found2352 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: false, sent_through: :basic_auth, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2353 behaves like rejects nuget packages access2354 for user type developer2355 has the correct response header2356 behaves like returning response status2357 returns unauthorized2358 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: false, sent_through: :basic_auth, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2359 behaves like rejects nuget packages access2360 for user type guest2361 has the correct response header2362 behaves like returning response status2363 returns unauthorized2364 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: true, sent_through: :api_key, shared_examples_name: "process nuget workhorse authorization", expected_status: :success2365 behaves like process nuget workhorse authorization2366 for user type developer2367 has the proper content type2368 behaves like returning response status2369 returns success2370 with a request that bypassed gitlab-workhorse2371 behaves like returning response status2372 returns forbidden2373 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: true, sent_through: :api_key, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden2374 behaves like rejects nuget packages access2375 for user type guest2376 behaves like returning response status2377 returns forbidden2378 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: false, sent_through: :api_key, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2379 behaves like rejects nuget packages access2380 for user type developer2381 has the correct response header2382 behaves like returning response status2383 returns unauthorized2384 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: false, sent_through: :api_key, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2385 behaves like rejects nuget packages access2386 for user type guest2387 has the correct response header2388 behaves like returning response status2389 returns unauthorized2390 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: true, sent_through: :api_key, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden2391 behaves like rejects nuget packages access2392 for user type developer2393 behaves like returning response status2394 returns forbidden2395 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: true, sent_through: :api_key, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden2396 behaves like rejects nuget packages access2397 for user type guest2398 behaves like returning response status2399 returns forbidden2400 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: false, sent_through: :api_key, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2401 behaves like rejects nuget packages access2402 for user type developer2403 has the correct response header2404 behaves like returning response status2405 returns unauthorized2406 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: false, sent_through: :api_key, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2407 behaves like rejects nuget packages access2408 for user type guest2409 has the correct response header2410 behaves like returning response status2411 returns unauthorized2412 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: true, sent_through: :api_key, shared_examples_name: "process nuget workhorse authorization", expected_status: :success2413 behaves like process nuget workhorse authorization2414 for user type developer2415 has the proper content type2416 behaves like returning response status2417 returns success2418 with a request that bypassed gitlab-workhorse2419 behaves like returning response status2420 returns forbidden2421 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: true, sent_through: :api_key, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden2422 behaves like rejects nuget packages access2423 for user type guest2424 behaves like returning response status2425 returns forbidden2426 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: false, sent_through: :api_key, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2427 behaves like rejects nuget packages access2428 for user type developer2429 has the correct response header2430 behaves like returning response status2431 returns unauthorized2432 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: false, sent_through: :api_key, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2433 behaves like rejects nuget packages access2434 for user type guest2435 has the correct response header2436 behaves like returning response status2437 returns unauthorized2438 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: true, sent_through: :api_key, shared_examples_name: "rejects nuget packages access", expected_status: :not_found2439 behaves like rejects nuget packages access2440 for user type developer2441 behaves like returning response status2442 returns not_found2443 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: true, sent_through: :api_key, shared_examples_name: "rejects nuget packages access", expected_status: :not_found2444 behaves like rejects nuget packages access2445 for user type guest2446 behaves like returning response status2447 returns not_found2448 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: false, sent_through: :api_key, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2449 behaves like rejects nuget packages access2450 for user type developer2451 has the correct response header2452 behaves like returning response status2453 returns unauthorized2454 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: false, sent_through: :api_key, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2455 behaves like rejects nuget packages access2456 for user type guest2457 has the correct response header2458 behaves like returning response status2459 returns unauthorized2460 visibility_level: "PUBLIC", user_role: :anonymous, member: false, user_token: true, sent_through: nil, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2461 behaves like rejects nuget packages access2462 for user type anonymous2463 has the correct response header2464 behaves like returning response status2465 returns unauthorized2466 visibility_level: "PRIVATE", user_role: :anonymous, member: false, user_token: true, sent_through: nil, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2467 behaves like rejects nuget packages access2468 for user type anonymous2469 has the correct response header2470 behaves like returning response status2471 returns unauthorized2472 behaves like deploy token for package uploads2473 with deploy token headers2474 valid token2475 behaves like returning response status2476 returns success2477 invalid token2478 behaves like returning response status2479 returns unauthorized2480 behaves like job token for package uploads2481 with job token headers2482 valid token2483 behaves like returning response status2484 returns success2485 invalid token2486 behaves like returning response status2487 returns unauthorized2488 invalid user2489 behaves like returning response status2490 returns unauthorized2491 behaves like rejects nuget access with unknown target id2492 with an unknown target2493 as anonymous2494 behaves like rejects nuget packages access2495 for user type anonymous2496 has the correct response header2497 behaves like returning response status2498 returns unauthorized2499 as authenticated user2500 behaves like rejects nuget packages access2501 for user type anonymous2502 behaves like returning response status2503 returns not_found2504 behaves like rejects nuget access with invalid target id2505 with a target id with invalid integers2506 id: "/../", status: :bad_request2507 behaves like rejects nuget packages access2508 for user type anonymous2509 behaves like returning response status2510 returns bad_request2511 id: "", status: :not_found2512 behaves like rejects nuget packages access2513 for user type anonymous2514 behaves like returning response status2515 returns not_found2516 id: "%20", status: :bad_request2517 behaves like rejects nuget packages access2518 for user type anonymous2519 behaves like returning response status2520 returns bad_request2521 id: "%2e%2e%2f", status: :bad_request2522 behaves like rejects nuget packages access2523 for user type anonymous2524 behaves like returning response status2525 returns bad_request2526 id: "NaN", status: :bad_request2527 behaves like rejects nuget packages access2528 for user type anonymous2529 behaves like returning response status2530 returns bad_request2531 id: 1253, status: :unauthorized2532 behaves like rejects nuget packages access2533 for user type anonymous2534 has the correct response header2535 behaves like returning response status2536 returns unauthorized2537 id: "anything25", status: :bad_request2538 behaves like rejects nuget packages access2539 for user type anonymous2540 behaves like returning response status2541 returns bad_request2542 PUT /api/v4/projects/:id/packages/nuget/symbolpackage2543 behaves like nuget upload endpoint2544 is expected to have request urgency :low2545 with valid project2546 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: true, sent_through: :basic_auth, shared_examples_name: "process nuget upload", expected_status: :created2547 behaves like process nuget upload2548 for user type developer2549 with object storage disabled2550 without a file from workhorse2551 behaves like returning response status2552 returns bad_request2553 with correct params2554 behaves like package workhorse uploads2555 without a workhorse header2556 logs an error2557 behaves like returning response status2558 returns forbidden2559 behaves like creates nuget package files2560 creates package files2561 behaves like a package tracking event2562 creates a gitlab tracking event push_symbol_package2563 with object storage enabled2564 and direct upload enabled2565 behaves like creates nuget package files2566 creates package files2567 with invalid remote_id: 1231232568 behaves like returning response status2569 returns forbidden2570 with invalid remote_id: ../../1231232571 behaves like returning response status2572 returns forbidden2573 with crafted package.path param2574 does not create a package file2575 behaves like returning response status2576 returns bad_request2577 and direct upload disabled2578 behaves like creates nuget package files2579 creates package files2580 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: true, sent_through: :basic_auth, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden2581 behaves like rejects nuget packages access2582 for user type guest2583 behaves like returning response status2584 returns forbidden2585 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: false, sent_through: :basic_auth, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2586 behaves like rejects nuget packages access2587 for user type developer2588 has the correct response header2589 behaves like returning response status2590 returns unauthorized2591 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: false, sent_through: :basic_auth, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2592 behaves like rejects nuget packages access2593 for user type guest2594 has the correct response header2595 behaves like returning response status2596 returns unauthorized2597 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: true, sent_through: :basic_auth, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden2598 behaves like rejects nuget packages access2599 for user type developer2600 behaves like returning response status2601 returns forbidden2602 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: true, sent_through: :basic_auth, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden2603 behaves like rejects nuget packages access2604 for user type guest2605 behaves like returning response status2606 returns forbidden2607 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: false, sent_through: :basic_auth, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2608 behaves like rejects nuget packages access2609 for user type developer2610 has the correct response header2611 behaves like returning response status2612 returns unauthorized2613 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: false, sent_through: :basic_auth, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2614 behaves like rejects nuget packages access2615 for user type guest2616 has the correct response header2617 behaves like returning response status2618 returns unauthorized2619 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: true, sent_through: :basic_auth, shared_examples_name: "process nuget upload", expected_status: :created2620 behaves like process nuget upload2621 for user type developer2622 with object storage disabled2623 without a file from workhorse2624 behaves like returning response status2625 returns bad_request2626 with correct params2627 behaves like package workhorse uploads2628 without a workhorse header2629 logs an error2630 behaves like returning response status2631 returns forbidden2632 behaves like creates nuget package files2633 creates package files2634 behaves like a package tracking event2635 creates a gitlab tracking event push_symbol_package2636 with object storage enabled2637 and direct upload enabled2638 behaves like creates nuget package files2639 creates package files2640 with invalid remote_id: 1231232641 behaves like returning response status2642 returns forbidden2643 with invalid remote_id: ../../1231232644 behaves like returning response status2645 returns forbidden2646 with crafted package.path param2647 does not create a package file2648 behaves like returning response status2649 returns bad_request2650 and direct upload disabled2651 behaves like creates nuget package files2652 creates package files2653 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: true, sent_through: :basic_auth, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden2654 behaves like rejects nuget packages access2655 for user type guest2656 behaves like returning response status2657 returns forbidden2658 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: false, sent_through: :basic_auth, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2659 behaves like rejects nuget packages access2660 for user type developer2661 has the correct response header2662 behaves like returning response status2663 returns unauthorized2664 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: false, sent_through: :basic_auth, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2665 behaves like rejects nuget packages access2666 for user type guest2667 has the correct response header2668 behaves like returning response status2669 returns unauthorized2670 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: true, sent_through: :basic_auth, shared_examples_name: "rejects nuget packages access", expected_status: :not_found2671 behaves like rejects nuget packages access2672 for user type developer2673 behaves like returning response status2674 returns not_found2675 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: true, sent_through: :basic_auth, shared_examples_name: "rejects nuget packages access", expected_status: :not_found2676 behaves like rejects nuget packages access2677 for user type guest2678 behaves like returning response status2679 returns not_found2680 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: false, sent_through: :basic_auth, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2681 behaves like rejects nuget packages access2682 for user type developer2683 has the correct response header2684 behaves like returning response status2685 returns unauthorized2686 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: false, sent_through: :basic_auth, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2687 behaves like rejects nuget packages access2688 for user type guest2689 has the correct response header2690 behaves like returning response status2691 returns unauthorized2692 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: true, sent_through: :api_key, shared_examples_name: "process nuget upload", expected_status: :created2693 behaves like process nuget upload2694 for user type developer2695 with object storage disabled2696 without a file from workhorse2697 behaves like returning response status2698 returns bad_request2699 with correct params2700 behaves like package workhorse uploads2701 without a workhorse header2702 logs an error2703 behaves like returning response status2704 returns forbidden2705 behaves like creates nuget package files2706 creates package files2707 behaves like a package tracking event2708 creates a gitlab tracking event push_symbol_package2709 with object storage enabled2710 and direct upload enabled2711 behaves like creates nuget package files2712 creates package files2713 with invalid remote_id: 1231232714 behaves like returning response status2715 returns forbidden2716 with invalid remote_id: ../../1231232717 behaves like returning response status2718 returns forbidden2719 with crafted package.path param2720 does not create a package file2721 behaves like returning response status2722 returns bad_request2723 and direct upload disabled2724 behaves like creates nuget package files2725 creates package files2726 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: true, sent_through: :api_key, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden2727 behaves like rejects nuget packages access2728 for user type guest2729 behaves like returning response status2730 returns forbidden2731 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: false, sent_through: :api_key, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2732 behaves like rejects nuget packages access2733 for user type developer2734 has the correct response header2735 behaves like returning response status2736 returns unauthorized2737 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: false, sent_through: :api_key, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2738 behaves like rejects nuget packages access2739 for user type guest2740 has the correct response header2741 behaves like returning response status2742 returns unauthorized2743 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: true, sent_through: :api_key, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden2744 behaves like rejects nuget packages access2745 for user type developer2746 behaves like returning response status2747 returns forbidden2748 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: true, sent_through: :api_key, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden2749 behaves like rejects nuget packages access2750 for user type guest2751 behaves like returning response status2752 returns forbidden2753 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: false, sent_through: :api_key, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2754 behaves like rejects nuget packages access2755 for user type developer2756 has the correct response header2757 behaves like returning response status2758 returns unauthorized2759 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: false, sent_through: :api_key, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2760 behaves like rejects nuget packages access2761 for user type guest2762 has the correct response header2763 behaves like returning response status2764 returns unauthorized2765 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: true, sent_through: :api_key, shared_examples_name: "process nuget upload", expected_status: :created2766 behaves like process nuget upload2767 for user type developer2768 with object storage disabled2769 without a file from workhorse2770 behaves like returning response status2771 returns bad_request2772 with correct params2773 behaves like package workhorse uploads2774 without a workhorse header2775 logs an error2776 behaves like returning response status2777 returns forbidden2778 behaves like creates nuget package files2779 creates package files2780 behaves like a package tracking event2781 creates a gitlab tracking event push_symbol_package2782 with object storage enabled2783 and direct upload enabled2784 behaves like creates nuget package files2785 creates package files2786 with invalid remote_id: 1231232787 behaves like returning response status2788 returns forbidden2789 with invalid remote_id: ../../1231232790 behaves like returning response status2791 returns forbidden2792 with crafted package.path param2793 does not create a package file2794 behaves like returning response status2795 returns bad_request2796 and direct upload disabled2797 behaves like creates nuget package files2798 creates package files2799 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: true, sent_through: :api_key, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden2800 behaves like rejects nuget packages access2801 for user type guest2802 behaves like returning response status2803 returns forbidden2804 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: false, sent_through: :api_key, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2805 behaves like rejects nuget packages access2806 for user type developer2807 has the correct response header2808 behaves like returning response status2809 returns unauthorized2810 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: false, sent_through: :api_key, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2811 behaves like rejects nuget packages access2812 for user type guest2813 has the correct response header2814 behaves like returning response status2815 returns unauthorized2816 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: true, sent_through: :api_key, shared_examples_name: "rejects nuget packages access", expected_status: :not_found2817 behaves like rejects nuget packages access2818 for user type developer2819 behaves like returning response status2820 returns not_found2821 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: true, sent_through: :api_key, shared_examples_name: "rejects nuget packages access", expected_status: :not_found2822 behaves like rejects nuget packages access2823 for user type guest2824 behaves like returning response status2825 returns not_found2826 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: false, sent_through: :api_key, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2827 behaves like rejects nuget packages access2828 for user type developer2829 has the correct response header2830 behaves like returning response status2831 returns unauthorized2832 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: false, sent_through: :api_key, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2833 behaves like rejects nuget packages access2834 for user type guest2835 has the correct response header2836 behaves like returning response status2837 returns unauthorized2838 visibility_level: "PUBLIC", user_role: :anonymous, member: false, user_token: true, sent_through: nil, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2839 behaves like rejects nuget packages access2840 for user type anonymous2841 has the correct response header2842 behaves like returning response status2843 returns unauthorized2844 visibility_level: "PRIVATE", user_role: :anonymous, member: false, user_token: true, sent_through: nil, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2845 behaves like rejects nuget packages access2846 for user type anonymous2847 has the correct response header2848 behaves like returning response status2849 returns unauthorized2850 behaves like deploy token for package uploads2851 with deploy token headers2852 valid token2853 behaves like returning response status2854 returns success2855 invalid token2856 behaves like returning response status2857 returns unauthorized2858 behaves like job token for package uploads2859 with job token headers2860 valid token2861 creates a package with build info2862 behaves like returning response status2863 returns success2864 invalid token2865 behaves like returning response status2866 returns unauthorized2867 invalid user2868 behaves like returning response status2869 returns unauthorized2870 behaves like rejects nuget access with unknown target id2871 with an unknown target2872 as anonymous2873 behaves like rejects nuget packages access2874 for user type anonymous2875 has the correct response header2876 behaves like returning response status2877 returns unauthorized2878 as authenticated user2879 behaves like rejects nuget packages access2880 for user type anonymous2881 behaves like returning response status2882 returns not_found2883 behaves like rejects nuget access with invalid target id2884 with a target id with invalid integers2885 id: "/../", status: :bad_request2886 behaves like rejects nuget packages access2887 for user type anonymous2888 behaves like returning response status2889 returns bad_request2890 id: "", status: :not_found2891 behaves like rejects nuget packages access2892 for user type anonymous2893 behaves like returning response status2894 returns not_found2895 id: "%20", status: :bad_request2896 behaves like rejects nuget packages access2897 for user type anonymous2898 behaves like returning response status2899 returns bad_request2900 id: "%2e%2e%2f", status: :bad_request2901 behaves like rejects nuget packages access2902 for user type anonymous2903 behaves like returning response status2904 returns bad_request2905 id: "NaN", status: :bad_request2906 behaves like rejects nuget packages access2907 for user type anonymous2908 behaves like returning response status2909 returns bad_request2910 id: 1253, status: :unauthorized2911 behaves like rejects nuget packages access2912 for user type anonymous2913 has the correct response header2914 behaves like returning response status2915 returns unauthorized2916 id: "anything25", status: :bad_request2917 behaves like rejects nuget packages access2918 for user type anonymous2919 behaves like returning response status2920 returns bad_request2921 file size above maximum limit2922 behaves like returning response status2923 returns bad_request2924 when ObjectStorage::RemoteStoreError is raised2925 behaves like returning response status2926 returns forbidden2927 when package duplicates are not allowed2928 behaves like returning response status2929 returns created2930 when exception_regex is set2931 behaves like returning response status2932 returns created2933 when nuget_duplicates_option feature flag is disabled2934 behaves like returning response status2935 returns created2936 DELETE /api/v4/projects/:id/packages/nuget/*package_name/*package_version2937 is expected to have request urgency :low2938 with valid target2939 auth: nil, visibility: :public, user_role: :anonymous, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2940 behaves like rejects nuget packages access2941 for user type anonymous2942 has the correct response header2943 behaves like returning response status2944 returns unauthorized2945 auth: nil, visibility: :private, user_role: :anonymous, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2946 behaves like rejects nuget packages access2947 for user type anonymous2948 has the correct response header2949 behaves like returning response status2950 returns unauthorized2951 auth: nil, visibility: :internal, user_role: :anonymous, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized2952 behaves like rejects nuget packages access2953 for user type anonymous2954 has the correct response header2955 behaves like returning response status2956 returns unauthorized2957 auth: :personal_access_token, visibility: :public, user_role: :guest, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden2958 behaves like rejects nuget packages access2959 for user type guest2960 behaves like returning response status2961 returns forbidden2962 auth: :personal_access_token, visibility: :public, user_role: :developer, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden2963 behaves like rejects nuget packages access2964 for user type developer2965 behaves like returning response status2966 returns forbidden2967 auth: :personal_access_token, visibility: :public, user_role: :maintainer, shared_examples_name: "process nuget delete request", expected_status: :no_content2968 behaves like process nuget delete request2969 for user type maintainer2970 marks package for deletion2971 behaves like returning response status2972 returns no_content2973 behaves like a package tracking event2974 creates a gitlab tracking event delete_package2975 auth: :personal_access_token, visibility: :private, user_role: :guest, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden2976 behaves like rejects nuget packages access2977 for user type guest2978 behaves like returning response status2979 returns forbidden2980 auth: :personal_access_token, visibility: :private, user_role: :developer, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden2981 behaves like rejects nuget packages access2982 for user type developer2983 behaves like returning response status2984 returns forbidden2985 auth: :personal_access_token, visibility: :private, user_role: :maintainer, shared_examples_name: "process nuget delete request", expected_status: :no_content2986 behaves like process nuget delete request2987 for user type maintainer2988 marks package for deletion2989 behaves like returning response status2990 returns no_content2991 behaves like a package tracking event2992 creates a gitlab tracking event delete_package2993 auth: :personal_access_token, visibility: :internal, user_role: :guest, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden2994 behaves like rejects nuget packages access2995 for user type guest2996 behaves like returning response status2997 returns forbidden2998 auth: :personal_access_token, visibility: :internal, user_role: :developer, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden2999 behaves like rejects nuget packages access3000 for user type developer3001 behaves like returning response status3002 returns forbidden3003 auth: :personal_access_token, visibility: :internal, user_role: :maintainer, shared_examples_name: "process nuget delete request", expected_status: :no_content3004 behaves like process nuget delete request3005 for user type maintainer3006 marks package for deletion3007 behaves like returning response status3008 returns no_content3009 behaves like a package tracking event3010 creates a gitlab tracking event delete_package3011 auth: :job_token, visibility: :public, user_role: :guest, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden3012 behaves like rejects nuget packages access3013 for user type guest3014 behaves like returning response status3015 returns forbidden3016 auth: :job_token, visibility: :public, user_role: :developer, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden3017 behaves like rejects nuget packages access3018 for user type developer3019 behaves like returning response status3020 returns forbidden3021 auth: :job_token, visibility: :public, user_role: :maintainer, shared_examples_name: "process nuget delete request", expected_status: :no_content3022 behaves like process nuget delete request3023 for user type maintainer3024 marks package for deletion3025 behaves like returning response status3026 returns no_content3027 behaves like a package tracking event3028 creates a gitlab tracking event delete_package3029 auth: :job_token, visibility: :private, user_role: :guest, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden3030 behaves like rejects nuget packages access3031 for user type guest3032 behaves like returning response status3033 returns forbidden3034 auth: :job_token, visibility: :private, user_role: :developer, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden3035 behaves like rejects nuget packages access3036 for user type developer3037 behaves like returning response status3038 returns forbidden3039 auth: :job_token, visibility: :private, user_role: :maintainer, shared_examples_name: "process nuget delete request", expected_status: :no_content3040 behaves like process nuget delete request3041 for user type maintainer3042 marks package for deletion3043 behaves like returning response status3044 returns no_content3045 behaves like a package tracking event3046 creates a gitlab tracking event delete_package3047 auth: :job_token, visibility: :internal, user_role: :guest, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden3048 behaves like rejects nuget packages access3049 for user type guest3050 behaves like returning response status3051 returns forbidden3052 auth: :job_token, visibility: :internal, user_role: :developer, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden3053 behaves like rejects nuget packages access3054 for user type developer3055 behaves like returning response status3056 returns forbidden3057 auth: :job_token, visibility: :internal, user_role: :maintainer, shared_examples_name: "process nuget delete request", expected_status: :no_content3058 behaves like process nuget delete request3059 for user type maintainer3060 marks package for deletion3061 behaves like returning response status3062 returns no_content3063 behaves like a package tracking event3064 creates a gitlab tracking event delete_package3065 auth: :deploy_token, visibility: :public, user_role: nil, shared_examples_name: "process nuget delete request", expected_status: :no_content3066 behaves like process nuget delete request3067 for user type3068 marks package for deletion3069 behaves like returning response status3070 returns no_content3071 behaves like a package tracking event3072 creates a gitlab tracking event delete_package3073 auth: :deploy_token, visibility: :private, user_role: nil, shared_examples_name: "process nuget delete request", expected_status: :no_content3074 behaves like process nuget delete request3075 for user type3076 marks package for deletion3077 behaves like returning response status3078 returns no_content3079 behaves like a package tracking event3080 creates a gitlab tracking event delete_package3081 auth: :deploy_token, visibility: :internal, user_role: nil, shared_examples_name: "process nuget delete request", expected_status: :no_content3082 behaves like process nuget delete request3083 for user type3084 marks package for deletion3085 behaves like returning response status3086 returns no_content3087 behaves like a package tracking event3088 creates a gitlab tracking event delete_package3089 auth: :api_key, visibility: :public, user_role: :guest, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden3090 behaves like rejects nuget packages access3091 for user type guest3092 behaves like returning response status3093 returns forbidden3094 auth: :api_key, visibility: :public, user_role: :developer, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden3095 behaves like rejects nuget packages access3096 for user type developer3097 behaves like returning response status3098 returns forbidden3099 auth: :api_key, visibility: :public, user_role: :maintainer, shared_examples_name: "process nuget delete request", expected_status: :no_content3100 behaves like process nuget delete request3101 for user type maintainer3102 marks package for deletion3103 behaves like returning response status3104 returns no_content3105 behaves like a package tracking event3106 creates a gitlab tracking event delete_package3107 auth: :api_key, visibility: :private, user_role: :guest, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden3108 behaves like rejects nuget packages access3109 for user type guest3110 behaves like returning response status3111 returns forbidden3112 auth: :api_key, visibility: :private, user_role: :developer, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden3113 behaves like rejects nuget packages access3114 for user type developer3115 behaves like returning response status3116 returns forbidden3117 auth: :api_key, visibility: :private, user_role: :maintainer, shared_examples_name: "process nuget delete request", expected_status: :no_content3118 behaves like process nuget delete request3119 for user type maintainer3120 marks package for deletion3121 behaves like returning response status3122 returns no_content3123 behaves like a package tracking event3124 creates a gitlab tracking event delete_package3125 auth: :api_key, visibility: :internal, user_role: :guest, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden3126 behaves like rejects nuget packages access3127 for user type guest3128 behaves like returning response status3129 returns forbidden3130 auth: :api_key, visibility: :internal, user_role: :developer, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden3131 behaves like rejects nuget packages access3132 for user type developer3133 behaves like returning response status3134 returns forbidden3135 auth: :api_key, visibility: :internal, user_role: :maintainer, shared_examples_name: "process nuget delete request", expected_status: :no_content3136 behaves like process nuget delete request3137 for user type maintainer3138 marks package for deletion3139 behaves like returning response status3140 returns no_content3141 behaves like a package tracking event3142 creates a gitlab tracking event delete_package3143 behaves like rejects nuget access with unknown target id3144 with an unknown target3145 as anonymous3146 behaves like rejects nuget packages access3147 for user type anonymous3148 has the correct response header3149 behaves like returning response status3150 returns unauthorized3151 as authenticated user3152 behaves like rejects nuget packages access3153 for user type anonymous3154 behaves like returning response status3155 returns not_found3156 behaves like rejects nuget access with invalid target id3157 with a target id with invalid integers3158 id: "/../", status: :bad_request3159 behaves like rejects nuget packages access3160 for user type anonymous3161 behaves like returning response status3162 returns bad_request3163 id: "", status: :not_found3164 behaves like rejects nuget packages access3165 for user type anonymous3166 behaves like returning response status3167 returns not_found3168 id: "%20", status: :bad_request3169 behaves like rejects nuget packages access3170 for user type anonymous3171 behaves like returning response status3172 returns bad_request3173 id: "%2e%2e%2f", status: :bad_request3174 behaves like rejects nuget packages access3175 for user type anonymous3176 behaves like returning response status3177 returns bad_request3178 id: "NaN", status: :bad_request3179 behaves like rejects nuget packages access3180 for user type anonymous3181 behaves like returning response status3182 returns bad_request3183 id: 1253, status: :unauthorized3184 behaves like rejects nuget packages access3185 for user type anonymous3186 has the correct response header3187 behaves like returning response status3188 returns unauthorized3189 id: "anything25", status: :bad_request3190 behaves like rejects nuget packages access3191 for user type anonymous3192 behaves like returning response status3193 returns bad_request3194 with invalid package name %203195 behaves like returning response status3196 returns bad_request3197 with invalid package name ..%2F..3198 behaves like returning response status3199 returns bad_request3200 with invalid package name ../..3201 behaves like returning response status3202 returns bad_request3203 PUT /api/v4/projects/:id/packages/nuget/v2/authorize3204 behaves like nuget authorize upload endpoint3205 is expected to have request urgency :low3206 with valid project3207 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: true, sent_through: :basic_auth, shared_examples_name: "process nuget workhorse authorization", expected_status: :success3208 behaves like process nuget workhorse authorization3209 for user type developer3210 has the proper content type3211 behaves like returning response status3212 returns success3213 with a request that bypassed gitlab-workhorse3214 behaves like returning response status3215 returns forbidden3216 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: true, sent_through: :basic_auth, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden3217 behaves like rejects nuget packages access3218 for user type guest3219 behaves like returning response status3220 returns forbidden3221 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: false, sent_through: :basic_auth, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized3222 behaves like rejects nuget packages access3223 for user type developer3224 has the correct response header3225 behaves like returning response status3226 returns unauthorized3227 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: false, sent_through: :basic_auth, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized3228 behaves like rejects nuget packages access3229 for user type guest3230 has the correct response header3231 behaves like returning response status3232 returns unauthorized3233 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: true, sent_through: :basic_auth, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden3234 behaves like rejects nuget packages access3235 for user type developer3236 behaves like returning response status3237 returns forbidden3238 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: true, sent_through: :basic_auth, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden3239 behaves like rejects nuget packages access3240 for user type guest3241 behaves like returning response status3242 returns forbidden3243 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: false, sent_through: :basic_auth, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized3244 behaves like rejects nuget packages access3245 for user type developer3246 has the correct response header3247 behaves like returning response status3248 returns unauthorized3249 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: false, sent_through: :basic_auth, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized3250 behaves like rejects nuget packages access3251 for user type guest3252 has the correct response header3253 behaves like returning response status3254 returns unauthorized3255 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: true, sent_through: :basic_auth, shared_examples_name: "process nuget workhorse authorization", expected_status: :success3256 behaves like process nuget workhorse authorization3257 for user type developer3258 has the proper content type3259 behaves like returning response status3260 returns success3261 with a request that bypassed gitlab-workhorse3262 behaves like returning response status3263 returns forbidden3264 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: true, sent_through: :basic_auth, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden3265 behaves like rejects nuget packages access3266 for user type guest3267 behaves like returning response status3268 returns forbidden3269 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: false, sent_through: :basic_auth, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized3270 behaves like rejects nuget packages access3271 for user type developer3272 has the correct response header3273 behaves like returning response status3274 returns unauthorized3275 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: false, sent_through: :basic_auth, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized3276 behaves like rejects nuget packages access3277 for user type guest3278 has the correct response header3279 behaves like returning response status3280 returns unauthorized3281 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: true, sent_through: :basic_auth, shared_examples_name: "rejects nuget packages access", expected_status: :not_found3282 behaves like rejects nuget packages access3283 for user type developer3284 behaves like returning response status3285 returns not_found3286 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: true, sent_through: :basic_auth, shared_examples_name: "rejects nuget packages access", expected_status: :not_found3287 behaves like rejects nuget packages access3288 for user type guest3289 behaves like returning response status3290 returns not_found3291 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: false, sent_through: :basic_auth, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized3292 behaves like rejects nuget packages access3293 for user type developer3294 has the correct response header3295 behaves like returning response status3296 returns unauthorized3297 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: false, sent_through: :basic_auth, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized3298 behaves like rejects nuget packages access3299 for user type guest3300 has the correct response header3301 behaves like returning response status3302 returns unauthorized3303 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: true, sent_through: :api_key, shared_examples_name: "process nuget workhorse authorization", expected_status: :success3304 behaves like process nuget workhorse authorization3305 for user type developer3306 has the proper content type3307 behaves like returning response status3308 returns success3309 with a request that bypassed gitlab-workhorse3310 behaves like returning response status3311 returns forbidden3312 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: true, sent_through: :api_key, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden3313 behaves like rejects nuget packages access3314 for user type guest3315 behaves like returning response status3316 returns forbidden3317 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: false, sent_through: :api_key, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized3318 behaves like rejects nuget packages access3319 for user type developer3320 has the correct response header3321 behaves like returning response status3322 returns unauthorized3323 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: false, sent_through: :api_key, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized3324 behaves like rejects nuget packages access3325 for user type guest3326 has the correct response header3327 behaves like returning response status3328 returns unauthorized3329 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: true, sent_through: :api_key, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden3330 behaves like rejects nuget packages access3331 for user type developer3332 behaves like returning response status3333 returns forbidden3334 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: true, sent_through: :api_key, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden3335 behaves like rejects nuget packages access3336 for user type guest3337 behaves like returning response status3338 returns forbidden3339 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: false, sent_through: :api_key, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized3340 behaves like rejects nuget packages access3341 for user type developer3342 has the correct response header3343 behaves like returning response status3344 returns unauthorized3345 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: false, sent_through: :api_key, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized3346 behaves like rejects nuget packages access3347 for user type guest3348 has the correct response header3349 behaves like returning response status3350 returns unauthorized3351 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: true, sent_through: :api_key, shared_examples_name: "process nuget workhorse authorization", expected_status: :success3352 behaves like process nuget workhorse authorization3353 for user type developer3354 has the proper content type3355 behaves like returning response status3356 returns success3357 with a request that bypassed gitlab-workhorse3358 behaves like returning response status3359 returns forbidden3360 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: true, sent_through: :api_key, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden3361 behaves like rejects nuget packages access3362 for user type guest3363 behaves like returning response status3364 returns forbidden3365 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: false, sent_through: :api_key, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized3366 behaves like rejects nuget packages access3367 for user type developer3368 has the correct response header3369 behaves like returning response status3370 returns unauthorized3371 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: false, sent_through: :api_key, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized3372 behaves like rejects nuget packages access3373 for user type guest3374 has the correct response header3375 behaves like returning response status3376 returns unauthorized3377 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: true, sent_through: :api_key, shared_examples_name: "rejects nuget packages access", expected_status: :not_found3378 behaves like rejects nuget packages access3379 for user type developer3380 behaves like returning response status3381 returns not_found3382 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: true, sent_through: :api_key, shared_examples_name: "rejects nuget packages access", expected_status: :not_found3383 behaves like rejects nuget packages access3384 for user type guest3385 behaves like returning response status3386 returns not_found3387 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: false, sent_through: :api_key, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized3388 behaves like rejects nuget packages access3389 for user type developer3390 has the correct response header3391 behaves like returning response status3392 returns unauthorized3393 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: false, sent_through: :api_key, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized3394 behaves like rejects nuget packages access3395 for user type guest3396 has the correct response header3397 behaves like returning response status3398 returns unauthorized3399 visibility_level: "PUBLIC", user_role: :anonymous, member: false, user_token: true, sent_through: nil, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized3400 behaves like rejects nuget packages access3401 for user type anonymous3402 has the correct response header3403 behaves like returning response status3404 returns unauthorized3405 visibility_level: "PRIVATE", user_role: :anonymous, member: false, user_token: true, sent_through: nil, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized3406 behaves like rejects nuget packages access3407 for user type anonymous3408 has the correct response header3409 behaves like returning response status3410 returns unauthorized3411 behaves like deploy token for package uploads3412 with deploy token headers3413 valid token3414 behaves like returning response status3415 returns success3416 invalid token3417 behaves like returning response status3418 returns unauthorized3419 behaves like job token for package uploads3420 with job token headers3421 valid token3422 behaves like returning response status3423 returns success3424 invalid token3425 behaves like returning response status3426 returns unauthorized3427 invalid user3428 behaves like returning response status3429 returns unauthorized3430 behaves like rejects nuget access with unknown target id3431 with an unknown target3432 as anonymous3433 behaves like rejects nuget packages access3434 for user type anonymous3435 has the correct response header3436 behaves like returning response status3437 returns unauthorized3438 as authenticated user3439 behaves like rejects nuget packages access3440 for user type anonymous3441 behaves like returning response status3442 returns not_found3443 behaves like rejects nuget access with invalid target id3444 with a target id with invalid integers3445 id: "/../", status: :bad_request3446 behaves like rejects nuget packages access3447 for user type anonymous3448 behaves like returning response status3449 returns bad_request3450 id: "", status: :not_found3451 behaves like rejects nuget packages access3452 for user type anonymous3453 behaves like returning response status3454 returns not_found3455 id: "%20", status: :bad_request3456 behaves like rejects nuget packages access3457 for user type anonymous3458 behaves like returning response status3459 returns bad_request3460 id: "%2e%2e%2f", status: :bad_request3461 behaves like rejects nuget packages access3462 for user type anonymous3463 behaves like returning response status3464 returns bad_request3465 id: "NaN", status: :bad_request3466 behaves like rejects nuget packages access3467 for user type anonymous3468 behaves like returning response status3469 returns bad_request3470 id: 1253, status: :unauthorized3471 behaves like rejects nuget packages access3472 for user type anonymous3473 has the correct response header3474 behaves like returning response status3475 returns unauthorized3476 id: "anything25", status: :bad_request3477 behaves like rejects nuget packages access3478 for user type anonymous3479 behaves like returning response status3480 returns bad_request3481 PUT /api/v4/projects/:id/packages/nuget/v23482 behaves like nuget upload endpoint3483 is expected to have request urgency :low3484 with valid project3485 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: true, sent_through: :basic_auth, shared_examples_name: "process nuget upload", expected_status: :created3486 behaves like process nuget upload3487 for user type developer3488 with object storage disabled3489 without a file from workhorse3490 behaves like returning response status3491 returns bad_request3492 with correct params3493 behaves like package workhorse uploads3494 without a workhorse header3495 logs an error3496 behaves like returning response status3497 returns forbidden3498 behaves like creates nuget package files3499 creates package files3500 behaves like a package tracking event3501 creates a gitlab tracking event push_package3502 with object storage enabled3503 and direct upload enabled3504 behaves like creates nuget package files3505 creates package files3506 with invalid remote_id: 1231233507 behaves like returning response status3508 returns forbidden3509 with invalid remote_id: ../../1231233510 behaves like returning response status3511 returns forbidden3512 with crafted package.path param3513 does not create a package file3514 behaves like returning response status3515 returns bad_request3516 and direct upload disabled3517 behaves like creates nuget package files3518 creates package files3519 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: true, sent_through: :basic_auth, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden3520 behaves like rejects nuget packages access3521 for user type guest3522 behaves like returning response status3523 returns forbidden3524 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: false, sent_through: :basic_auth, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized3525 behaves like rejects nuget packages access3526 for user type developer3527 has the correct response header3528 behaves like returning response status3529 returns unauthorized3530 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: false, sent_through: :basic_auth, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized3531 behaves like rejects nuget packages access3532 for user type guest3533 has the correct response header3534 behaves like returning response status3535 returns unauthorized3536 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: true, sent_through: :basic_auth, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden3537 behaves like rejects nuget packages access3538 for user type developer3539 behaves like returning response status3540 returns forbidden3541 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: true, sent_through: :basic_auth, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden3542 behaves like rejects nuget packages access3543 for user type guest3544 behaves like returning response status3545 returns forbidden3546 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: false, sent_through: :basic_auth, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized3547 behaves like rejects nuget packages access3548 for user type developer3549 has the correct response header3550 behaves like returning response status3551 returns unauthorized3552 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: false, sent_through: :basic_auth, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized3553 behaves like rejects nuget packages access3554 for user type guest3555 has the correct response header3556 behaves like returning response status3557 returns unauthorized3558 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: true, sent_through: :basic_auth, shared_examples_name: "process nuget upload", expected_status: :created3559 behaves like process nuget upload3560 for user type developer3561 with object storage disabled3562 without a file from workhorse3563 behaves like returning response status3564 returns bad_request3565 with correct params3566 behaves like package workhorse uploads3567 without a workhorse header3568 logs an error3569 behaves like returning response status3570 returns forbidden3571 behaves like creates nuget package files3572 creates package files3573 behaves like a package tracking event3574 creates a gitlab tracking event push_package3575 with object storage enabled3576 and direct upload enabled3577 behaves like creates nuget package files3578 creates package files3579 with invalid remote_id: 1231233580 behaves like returning response status3581 returns forbidden3582 with invalid remote_id: ../../1231233583 behaves like returning response status3584 returns forbidden3585 with crafted package.path param3586 does not create a package file3587 behaves like returning response status3588 returns bad_request3589 and direct upload disabled3590 behaves like creates nuget package files3591 creates package files3592 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: true, sent_through: :basic_auth, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden3593 behaves like rejects nuget packages access3594 for user type guest3595 behaves like returning response status3596 returns forbidden3597 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: false, sent_through: :basic_auth, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized3598 behaves like rejects nuget packages access3599 for user type developer3600 has the correct response header3601 behaves like returning response status3602 returns unauthorized3603 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: false, sent_through: :basic_auth, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized3604 behaves like rejects nuget packages access3605 for user type guest3606 has the correct response header3607 behaves like returning response status3608 returns unauthorized3609 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: true, sent_through: :basic_auth, shared_examples_name: "rejects nuget packages access", expected_status: :not_found3610 behaves like rejects nuget packages access3611 for user type developer3612 behaves like returning response status3613 returns not_found3614 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: true, sent_through: :basic_auth, shared_examples_name: "rejects nuget packages access", expected_status: :not_found3615 behaves like rejects nuget packages access3616 for user type guest3617 behaves like returning response status3618 returns not_found3619 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: false, sent_through: :basic_auth, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized3620 behaves like rejects nuget packages access3621 for user type developer3622 has the correct response header3623 behaves like returning response status3624 returns unauthorized3625 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: false, sent_through: :basic_auth, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized3626 behaves like rejects nuget packages access3627 for user type guest3628 has the correct response header3629 behaves like returning response status3630 returns unauthorized3631 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: true, sent_through: :api_key, shared_examples_name: "process nuget upload", expected_status: :created3632 behaves like process nuget upload3633 for user type developer3634 with object storage disabled3635 without a file from workhorse3636 behaves like returning response status3637 returns bad_request3638 with correct params3639 behaves like package workhorse uploads3640 without a workhorse header3641 logs an error3642 behaves like returning response status3643 returns forbidden3644 behaves like creates nuget package files3645 creates package files3646 behaves like a package tracking event3647 creates a gitlab tracking event push_package3648 with object storage enabled3649 and direct upload enabled3650 behaves like creates nuget package files3651 creates package files3652 with invalid remote_id: 1231233653 behaves like returning response status3654 returns forbidden3655 with invalid remote_id: ../../1231233656 behaves like returning response status3657 returns forbidden3658 with crafted package.path param3659 does not create a package file3660 behaves like returning response status3661 returns bad_request3662 and direct upload disabled3663 behaves like creates nuget package files3664 creates package files3665 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: true, sent_through: :api_key, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden3666 behaves like rejects nuget packages access3667 for user type guest3668 behaves like returning response status3669 returns forbidden3670 visibility_level: "PUBLIC", user_role: :developer, member: true, user_token: false, sent_through: :api_key, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized3671 behaves like rejects nuget packages access3672 for user type developer3673 has the correct response header3674 behaves like returning response status3675 returns unauthorized3676 visibility_level: "PUBLIC", user_role: :guest, member: true, user_token: false, sent_through: :api_key, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized3677 behaves like rejects nuget packages access3678 for user type guest3679 has the correct response header3680 behaves like returning response status3681 returns unauthorized3682 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: true, sent_through: :api_key, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden3683 behaves like rejects nuget packages access3684 for user type developer3685 behaves like returning response status3686 returns forbidden3687 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: true, sent_through: :api_key, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden3688 behaves like rejects nuget packages access3689 for user type guest3690 behaves like returning response status3691 returns forbidden3692 visibility_level: "PUBLIC", user_role: :developer, member: false, user_token: false, sent_through: :api_key, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized3693 behaves like rejects nuget packages access3694 for user type developer3695 has the correct response header3696 behaves like returning response status3697 returns unauthorized3698 visibility_level: "PUBLIC", user_role: :guest, member: false, user_token: false, sent_through: :api_key, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized3699 behaves like rejects nuget packages access3700 for user type guest3701 has the correct response header3702 behaves like returning response status3703 returns unauthorized3704 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: true, sent_through: :api_key, shared_examples_name: "process nuget upload", expected_status: :created3705 behaves like process nuget upload3706 for user type developer3707 with object storage disabled3708 without a file from workhorse3709 behaves like returning response status3710 returns bad_request3711 with correct params3712 behaves like package workhorse uploads3713 without a workhorse header3714 logs an error3715 behaves like returning response status3716 returns forbidden3717 behaves like creates nuget package files3718 creates package files3719 behaves like a package tracking event3720 creates a gitlab tracking event push_package3721 with object storage enabled3722 and direct upload enabled3723 behaves like creates nuget package files3724 creates package files3725 with invalid remote_id: 1231233726 behaves like returning response status3727 returns forbidden3728 with invalid remote_id: ../../1231233729 behaves like returning response status3730 returns forbidden3731 with crafted package.path param3732 does not create a package file3733 behaves like returning response status3734 returns bad_request3735 and direct upload disabled3736 behaves like creates nuget package files3737 creates package files3738 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: true, sent_through: :api_key, shared_examples_name: "rejects nuget packages access", expected_status: :forbidden3739 behaves like rejects nuget packages access3740 for user type guest3741 behaves like returning response status3742 returns forbidden3743 visibility_level: "PRIVATE", user_role: :developer, member: true, user_token: false, sent_through: :api_key, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized3744 behaves like rejects nuget packages access3745 for user type developer3746 has the correct response header3747 behaves like returning response status3748 returns unauthorized3749 visibility_level: "PRIVATE", user_role: :guest, member: true, user_token: false, sent_through: :api_key, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized3750 behaves like rejects nuget packages access3751 for user type guest3752 has the correct response header3753 behaves like returning response status3754 returns unauthorized3755 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: true, sent_through: :api_key, shared_examples_name: "rejects nuget packages access", expected_status: :not_found3756 behaves like rejects nuget packages access3757 for user type developer3758 behaves like returning response status3759 returns not_found3760 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: true, sent_through: :api_key, shared_examples_name: "rejects nuget packages access", expected_status: :not_found3761 behaves like rejects nuget packages access3762 for user type guest3763 behaves like returning response status3764 returns not_found3765 visibility_level: "PRIVATE", user_role: :developer, member: false, user_token: false, sent_through: :api_key, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized3766 behaves like rejects nuget packages access3767 for user type developer3768 has the correct response header3769 behaves like returning response status3770 returns unauthorized3771 visibility_level: "PRIVATE", user_role: :guest, member: false, user_token: false, sent_through: :api_key, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized3772 behaves like rejects nuget packages access3773 for user type guest3774 has the correct response header3775 behaves like returning response status3776 returns unauthorized3777 visibility_level: "PUBLIC", user_role: :anonymous, member: false, user_token: true, sent_through: nil, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized3778 behaves like rejects nuget packages access3779 for user type anonymous3780 has the correct response header3781 behaves like returning response status3782 returns unauthorized3783 visibility_level: "PRIVATE", user_role: :anonymous, member: false, user_token: true, sent_through: nil, shared_examples_name: "rejects nuget packages access", expected_status: :unauthorized3784 behaves like rejects nuget packages access3785 for user type anonymous3786 has the correct response header3787 behaves like returning response status3788 returns unauthorized3789 behaves like deploy token for package uploads3790 with deploy token headers3791 valid token3792 behaves like returning response status3793 returns success3794 invalid token3795 behaves like returning response status3796 returns unauthorized3797 behaves like job token for package uploads3798 with job token headers3799 valid token3800 creates a package with build info3801 behaves like returning response status3802 returns success3803 invalid token3804 behaves like returning response status3805 returns unauthorized3806 invalid user3807 behaves like returning response status3808 returns unauthorized3809 behaves like rejects nuget access with unknown target id3810 with an unknown target3811 as anonymous3812 behaves like rejects nuget packages access3813 for user type anonymous3814 has the correct response header3815 behaves like returning response status3816 returns unauthorized3817 as authenticated user3818 behaves like rejects nuget packages access3819 for user type anonymous3820 behaves like returning response status3821 returns not_found3822 behaves like rejects nuget access with invalid target id3823 with a target id with invalid integers3824 id: "/../", status: :bad_request3825 behaves like rejects nuget packages access3826 for user type anonymous3827 behaves like returning response status3828 returns bad_request3829 id: "", status: :not_found3830 behaves like rejects nuget packages access3831 for user type anonymous3832 behaves like returning response status3833 returns not_found3834 id: "%20", status: :bad_request3835 behaves like rejects nuget packages access3836 for user type anonymous3837 behaves like returning response status3838 returns bad_request3839 id: "%2e%2e%2f", status: :bad_request3840 behaves like rejects nuget packages access3841 for user type anonymous3842 behaves like returning response status3843 returns bad_request3844 id: "NaN", status: :bad_request3845 behaves like rejects nuget packages access3846 for user type anonymous3847 behaves like returning response status3848 returns bad_request3849 id: 1253, status: :unauthorized3850 behaves like rejects nuget packages access3851 for user type anonymous3852 has the correct response header3853 behaves like returning response status3854 returns unauthorized3855 id: "anything25", status: :bad_request3856 behaves like rejects nuget packages access3857 for user type anonymous3858 behaves like returning response status3859 returns bad_request3860 file size above maximum limit3861 behaves like returning response status3862 returns bad_request3863 when ObjectStorage::RemoteStoreError is raised3864 behaves like returning response status3865 returns forbidden3866 when package duplicates are not allowed3867 behaves like returning response status3868 returns conflict3869 when exception_regex is set3870 behaves like returning response status3871 returns created3872 when nuget_duplicates_option feature flag is disabled3873 behaves like returning response status3874 returns created3875API::Ci::Pipelines3876 GET /projects/:id/pipelines3877 behaves like pipelines visibility table3878 visibility_level: :private, builds_access_level: :enabled, public_builds: true, is_admin: true, user_role: :non_member, response_status: 2003879 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))3880 visibility_level: :private, builds_access_level: :enabled, public_builds: true, is_admin: true, user_role: :guest, response_status: 2003881 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))3882 visibility_level: :private, builds_access_level: :enabled, public_builds: true, is_admin: true, user_role: :reporter, response_status: 2003883 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))3884 visibility_level: :private, builds_access_level: :enabled, public_builds: true, is_admin: true, user_role: :developer, response_status: 2003885 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))3886 visibility_level: :private, builds_access_level: :enabled, public_builds: true, is_admin: true, user_role: :maintainer, response_status: 2003887 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))3888 visibility_level: :private, builds_access_level: :enabled, public_builds: true, is_admin: false, user_role: nil, response_status: 4043889 is expected to match (a hash including "message")3890 visibility_level: :private, builds_access_level: :enabled, public_builds: true, is_admin: false, user_role: :non_member, response_status: 4043891 is expected to match (a hash including "message")3892 visibility_level: :private, builds_access_level: :enabled, public_builds: true, is_admin: false, user_role: :guest, response_status: 2003893 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))3894 visibility_level: :private, builds_access_level: :enabled, public_builds: true, is_admin: false, user_role: :reporter, response_status: 2003895 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))3896 visibility_level: :private, builds_access_level: :enabled, public_builds: true, is_admin: false, user_role: :developer, response_status: 2003897 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))3898 visibility_level: :private, builds_access_level: :enabled, public_builds: true, is_admin: false, user_role: :maintainer, response_status: 2003899 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))3900 visibility_level: :private, builds_access_level: :enabled, public_builds: false, is_admin: true, user_role: :non_member, response_status: 2003901 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))3902 visibility_level: :private, builds_access_level: :enabled, public_builds: false, is_admin: true, user_role: :guest, response_status: 2003903 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))3904 visibility_level: :private, builds_access_level: :enabled, public_builds: false, is_admin: true, user_role: :reporter, response_status: 2003905 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))3906 visibility_level: :private, builds_access_level: :enabled, public_builds: false, is_admin: true, user_role: :developer, response_status: 2003907 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))3908 visibility_level: :private, builds_access_level: :enabled, public_builds: false, is_admin: true, user_role: :maintainer, response_status: 2003909 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))3910 visibility_level: :private, builds_access_level: :enabled, public_builds: false, is_admin: false, user_role: nil, response_status: 4043911 is expected to match (a hash including "message")3912 visibility_level: :private, builds_access_level: :enabled, public_builds: false, is_admin: false, user_role: :non_member, response_status: 4043913 is expected to match (a hash including "message")3914 visibility_level: :private, builds_access_level: :enabled, public_builds: false, is_admin: false, user_role: :guest, response_status: 4033915 is expected to match (a hash including "message")3916 visibility_level: :private, builds_access_level: :enabled, public_builds: false, is_admin: false, user_role: :reporter, response_status: 2003917 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))3918 visibility_level: :private, builds_access_level: :enabled, public_builds: false, is_admin: false, user_role: :developer, response_status: 2003919 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))3920 visibility_level: :private, builds_access_level: :enabled, public_builds: false, is_admin: false, user_role: :maintainer, response_status: 2003921 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))3922 visibility_level: :private, builds_access_level: :private, public_builds: true, is_admin: true, user_role: :non_member, response_status: 2003923 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))3924 visibility_level: :private, builds_access_level: :private, public_builds: true, is_admin: true, user_role: :guest, response_status: 2003925 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))3926 visibility_level: :private, builds_access_level: :private, public_builds: true, is_admin: true, user_role: :reporter, response_status: 2003927 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))3928 visibility_level: :private, builds_access_level: :private, public_builds: true, is_admin: true, user_role: :developer, response_status: 2003929 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))3930 visibility_level: :private, builds_access_level: :private, public_builds: true, is_admin: true, user_role: :maintainer, response_status: 2003931 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))3932 visibility_level: :private, builds_access_level: :private, public_builds: true, is_admin: false, user_role: nil, response_status: 4043933 is expected to match (a hash including "message")3934 visibility_level: :private, builds_access_level: :private, public_builds: true, is_admin: false, user_role: :non_member, response_status: 4043935 is expected to match (a hash including "message")3936 visibility_level: :private, builds_access_level: :private, public_builds: true, is_admin: false, user_role: :guest, response_status: 2003937 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))3938 visibility_level: :private, builds_access_level: :private, public_builds: true, is_admin: false, user_role: :reporter, response_status: 2003939 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))3940 visibility_level: :private, builds_access_level: :private, public_builds: true, is_admin: false, user_role: :developer, response_status: 2003941 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))3942 visibility_level: :private, builds_access_level: :private, public_builds: true, is_admin: false, user_role: :maintainer, response_status: 2003943 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))3944 visibility_level: :private, builds_access_level: :private, public_builds: false, is_admin: true, user_role: :non_member, response_status: 2003945 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))3946 visibility_level: :private, builds_access_level: :private, public_builds: false, is_admin: true, user_role: :guest, response_status: 2003947 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))3948 visibility_level: :private, builds_access_level: :private, public_builds: false, is_admin: true, user_role: :reporter, response_status: 2003949 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))3950 visibility_level: :private, builds_access_level: :private, public_builds: false, is_admin: true, user_role: :developer, response_status: 2003951 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))3952 visibility_level: :private, builds_access_level: :private, public_builds: false, is_admin: true, user_role: :maintainer, response_status: 2003953 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))3954 visibility_level: :private, builds_access_level: :private, public_builds: false, is_admin: false, user_role: nil, response_status: 4043955 is expected to match (a hash including "message")3956 visibility_level: :private, builds_access_level: :private, public_builds: false, is_admin: false, user_role: :non_member, response_status: 4043957 is expected to match (a hash including "message")3958 visibility_level: :private, builds_access_level: :private, public_builds: false, is_admin: false, user_role: :guest, response_status: 4033959 is expected to match (a hash including "message")3960 visibility_level: :private, builds_access_level: :private, public_builds: false, is_admin: false, user_role: :reporter, response_status: 2003961 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))3962 visibility_level: :private, builds_access_level: :private, public_builds: false, is_admin: false, user_role: :developer, response_status: 2003963 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))3964 visibility_level: :private, builds_access_level: :private, public_builds: false, is_admin: false, user_role: :maintainer, response_status: 2003965 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))3966 visibility_level: :internal, builds_access_level: :enabled, public_builds: true, is_admin: true, user_role: :non_member, response_status: 2003967 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))3968 visibility_level: :internal, builds_access_level: :enabled, public_builds: true, is_admin: true, user_role: :guest, response_status: 2003969 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))3970 visibility_level: :internal, builds_access_level: :enabled, public_builds: true, is_admin: true, user_role: :reporter, response_status: 2003971 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))3972 visibility_level: :internal, builds_access_level: :enabled, public_builds: true, is_admin: true, user_role: :developer, response_status: 2003973 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))3974 visibility_level: :internal, builds_access_level: :enabled, public_builds: true, is_admin: true, user_role: :maintainer, response_status: 2003975 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))3976 visibility_level: :internal, builds_access_level: :enabled, public_builds: true, is_admin: false, user_role: nil, response_status: 4043977 is expected to match (a hash including "message")3978 visibility_level: :internal, builds_access_level: :enabled, public_builds: true, is_admin: false, user_role: :non_member, response_status: 2003979 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))3980 visibility_level: :internal, builds_access_level: :enabled, public_builds: true, is_admin: false, user_role: :guest, response_status: 2003981 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))3982 visibility_level: :internal, builds_access_level: :enabled, public_builds: true, is_admin: false, user_role: :reporter, response_status: 2003983 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))3984 visibility_level: :internal, builds_access_level: :enabled, public_builds: true, is_admin: false, user_role: :developer, response_status: 2003985 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))3986 visibility_level: :internal, builds_access_level: :enabled, public_builds: true, is_admin: false, user_role: :maintainer, response_status: 2003987 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))3988 visibility_level: :internal, builds_access_level: :enabled, public_builds: false, is_admin: true, user_role: :non_member, response_status: 2003989 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))3990 visibility_level: :internal, builds_access_level: :enabled, public_builds: false, is_admin: true, user_role: :guest, response_status: 2003991 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))3992 visibility_level: :internal, builds_access_level: :enabled, public_builds: false, is_admin: true, user_role: :reporter, response_status: 2003993 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))3994 visibility_level: :internal, builds_access_level: :enabled, public_builds: false, is_admin: true, user_role: :developer, response_status: 2003995 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))3996 visibility_level: :internal, builds_access_level: :enabled, public_builds: false, is_admin: true, user_role: :maintainer, response_status: 2003997 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))3998 visibility_level: :internal, builds_access_level: :enabled, public_builds: false, is_admin: false, user_role: nil, response_status: 4043999 is expected to match (a hash including "message")4000 visibility_level: :internal, builds_access_level: :enabled, public_builds: false, is_admin: false, user_role: :non_member, response_status: 4034001 is expected to match (a hash including "message")4002 visibility_level: :internal, builds_access_level: :enabled, public_builds: false, is_admin: false, user_role: :guest, response_status: 4034003 is expected to match (a hash including "message")4004 visibility_level: :internal, builds_access_level: :enabled, public_builds: false, is_admin: false, user_role: :reporter, response_status: 2004005 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))4006 visibility_level: :internal, builds_access_level: :enabled, public_builds: false, is_admin: false, user_role: :developer, response_status: 2004007 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))4008 visibility_level: :internal, builds_access_level: :enabled, public_builds: false, is_admin: false, user_role: :maintainer, response_status: 2004009 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))4010 visibility_level: :internal, builds_access_level: :private, public_builds: true, is_admin: true, user_role: :non_member, response_status: 2004011 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))4012 visibility_level: :internal, builds_access_level: :private, public_builds: true, is_admin: true, user_role: :guest, response_status: 2004013 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))4014 visibility_level: :internal, builds_access_level: :private, public_builds: true, is_admin: true, user_role: :reporter, response_status: 2004015 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))4016 visibility_level: :internal, builds_access_level: :private, public_builds: true, is_admin: true, user_role: :developer, response_status: 2004017 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))4018 visibility_level: :internal, builds_access_level: :private, public_builds: true, is_admin: true, user_role: :maintainer, response_status: 2004019 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))4020 visibility_level: :internal, builds_access_level: :private, public_builds: true, is_admin: false, user_role: nil, response_status: 4044021 is expected to match (a hash including "message")4022 visibility_level: :internal, builds_access_level: :private, public_builds: true, is_admin: false, user_role: :non_member, response_status: 4034023 is expected to match (a hash including "message")4024 visibility_level: :internal, builds_access_level: :private, public_builds: true, is_admin: false, user_role: :guest, response_status: 2004025 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))4026 visibility_level: :internal, builds_access_level: :private, public_builds: true, is_admin: false, user_role: :reporter, response_status: 2004027 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))4028 visibility_level: :internal, builds_access_level: :private, public_builds: true, is_admin: false, user_role: :developer, response_status: 2004029 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))4030 visibility_level: :internal, builds_access_level: :private, public_builds: true, is_admin: false, user_role: :maintainer, response_status: 2004031 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))4032 visibility_level: :internal, builds_access_level: :private, public_builds: false, is_admin: true, user_role: :non_member, response_status: 2004033 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))4034 visibility_level: :internal, builds_access_level: :private, public_builds: false, is_admin: true, user_role: :guest, response_status: 2004035 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))4036 visibility_level: :internal, builds_access_level: :private, public_builds: false, is_admin: true, user_role: :reporter, response_status: 2004037 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))4038 visibility_level: :internal, builds_access_level: :private, public_builds: false, is_admin: true, user_role: :developer, response_status: 2004039 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))4040 visibility_level: :internal, builds_access_level: :private, public_builds: false, is_admin: true, user_role: :maintainer, response_status: 2004041 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))4042 visibility_level: :internal, builds_access_level: :private, public_builds: false, is_admin: false, user_role: nil, response_status: 4044043 is expected to match (a hash including "message")4044 visibility_level: :internal, builds_access_level: :private, public_builds: false, is_admin: false, user_role: :non_member, response_status: 4034045 is expected to match (a hash including "message")4046 visibility_level: :internal, builds_access_level: :private, public_builds: false, is_admin: false, user_role: :guest, response_status: 4034047 is expected to match (a hash including "message")4048 visibility_level: :internal, builds_access_level: :private, public_builds: false, is_admin: false, user_role: :reporter, response_status: 2004049 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))4050 visibility_level: :internal, builds_access_level: :private, public_builds: false, is_admin: false, user_role: :developer, response_status: 2004051 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))4052 visibility_level: :internal, builds_access_level: :private, public_builds: false, is_admin: false, user_role: :maintainer, response_status: 2004053 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))4054 visibility_level: :public, builds_access_level: :enabled, public_builds: true, is_admin: true, user_role: :non_member, response_status: 2004055 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))4056 visibility_level: :public, builds_access_level: :enabled, public_builds: true, is_admin: true, user_role: :guest, response_status: 2004057 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))4058 visibility_level: :public, builds_access_level: :enabled, public_builds: true, is_admin: true, user_role: :reporter, response_status: 2004059 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))4060 visibility_level: :public, builds_access_level: :enabled, public_builds: true, is_admin: true, user_role: :developer, response_status: 2004061 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))4062 visibility_level: :public, builds_access_level: :enabled, public_builds: true, is_admin: true, user_role: :maintainer, response_status: 2004063 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))4064 visibility_level: :public, builds_access_level: :enabled, public_builds: true, is_admin: false, user_role: nil, response_status: 2004065 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))4066 visibility_level: :public, builds_access_level: :enabled, public_builds: true, is_admin: false, user_role: :non_member, response_status: 2004067 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))4068 visibility_level: :public, builds_access_level: :enabled, public_builds: true, is_admin: false, user_role: :guest, response_status: 2004069 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))4070 visibility_level: :public, builds_access_level: :enabled, public_builds: true, is_admin: false, user_role: :reporter, response_status: 2004071 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))4072 visibility_level: :public, builds_access_level: :enabled, public_builds: true, is_admin: false, user_role: :developer, response_status: 2004073 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))4074 visibility_level: :public, builds_access_level: :enabled, public_builds: true, is_admin: false, user_role: :maintainer, response_status: 2004075 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))4076 visibility_level: :public, builds_access_level: :enabled, public_builds: false, is_admin: true, user_role: :non_member, response_status: 2004077 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))4078 visibility_level: :public, builds_access_level: :enabled, public_builds: false, is_admin: true, user_role: :guest, response_status: 2004079 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))4080 visibility_level: :public, builds_access_level: :enabled, public_builds: false, is_admin: true, user_role: :reporter, response_status: 2004081 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))4082 visibility_level: :public, builds_access_level: :enabled, public_builds: false, is_admin: true, user_role: :developer, response_status: 2004083 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))4084 visibility_level: :public, builds_access_level: :enabled, public_builds: false, is_admin: true, user_role: :maintainer, response_status: 2004085 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))4086 visibility_level: :public, builds_access_level: :enabled, public_builds: false, is_admin: false, user_role: nil, response_status: 4034087 is expected to match (a hash including "message")4088 visibility_level: :public, builds_access_level: :enabled, public_builds: false, is_admin: false, user_role: :non_member, response_status: 4034089 is expected to match (a hash including "message")4090 visibility_level: :public, builds_access_level: :enabled, public_builds: false, is_admin: false, user_role: :guest, response_status: 4034091 is expected to match (a hash including "message")4092 visibility_level: :public, builds_access_level: :enabled, public_builds: false, is_admin: false, user_role: :reporter, response_status: 2004093 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))4094 visibility_level: :public, builds_access_level: :enabled, public_builds: false, is_admin: false, user_role: :developer, response_status: 2004095 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))4096 visibility_level: :public, builds_access_level: :enabled, public_builds: false, is_admin: false, user_role: :maintainer, response_status: 2004097 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))4098 visibility_level: :public, builds_access_level: :private, public_builds: true, is_admin: true, user_role: :non_member, response_status: 2004099 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))4100 visibility_level: :public, builds_access_level: :private, public_builds: true, is_admin: true, user_role: :guest, response_status: 2004101 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))4102 visibility_level: :public, builds_access_level: :private, public_builds: true, is_admin: true, user_role: :reporter, response_status: 2004103 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))4104 visibility_level: :public, builds_access_level: :private, public_builds: true, is_admin: true, user_role: :developer, response_status: 2004105 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))4106 visibility_level: :public, builds_access_level: :private, public_builds: true, is_admin: true, user_role: :maintainer, response_status: 2004107 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))4108 visibility_level: :public, builds_access_level: :private, public_builds: true, is_admin: false, user_role: nil, response_status: 4034109 is expected to match (a hash including "message")4110 visibility_level: :public, builds_access_level: :private, public_builds: true, is_admin: false, user_role: :non_member, response_status: 4034111 is expected to match (a hash including "message")4112 visibility_level: :public, builds_access_level: :private, public_builds: true, is_admin: false, user_role: :guest, response_status: 2004113 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))4114 visibility_level: :public, builds_access_level: :private, public_builds: true, is_admin: false, user_role: :reporter, response_status: 2004115 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))4116 visibility_level: :public, builds_access_level: :private, public_builds: true, is_admin: false, user_role: :developer, response_status: 2004117 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))4118 visibility_level: :public, builds_access_level: :private, public_builds: true, is_admin: false, user_role: :maintainer, response_status: 2004119 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))4120 visibility_level: :public, builds_access_level: :private, public_builds: false, is_admin: true, user_role: :non_member, response_status: 2004121 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))4122 visibility_level: :public, builds_access_level: :private, public_builds: false, is_admin: true, user_role: :guest, response_status: 2004123 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))4124 visibility_level: :public, builds_access_level: :private, public_builds: false, is_admin: true, user_role: :reporter, response_status: 2004125 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))4126 visibility_level: :public, builds_access_level: :private, public_builds: false, is_admin: true, user_role: :developer, response_status: 2004127 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))4128 visibility_level: :public, builds_access_level: :private, public_builds: false, is_admin: true, user_role: :maintainer, response_status: 2004129 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))4130 visibility_level: :public, builds_access_level: :private, public_builds: false, is_admin: false, user_role: nil, response_status: 4034131 is expected to match (a hash including "message")4132 visibility_level: :public, builds_access_level: :private, public_builds: false, is_admin: false, user_role: :non_member, response_status: 4034133 is expected to match (a hash including "message")4134 visibility_level: :public, builds_access_level: :private, public_builds: false, is_admin: false, user_role: :guest, response_status: 4034135 is expected to match (a hash including "message")4136 visibility_level: :public, builds_access_level: :private, public_builds: false, is_admin: false, user_role: :reporter, response_status: 2004137 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))4138 visibility_level: :public, builds_access_level: :private, public_builds: false, is_admin: false, user_role: :developer, response_status: 2004139 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))4140 visibility_level: :public, builds_access_level: :private, public_builds: false, is_admin: false, user_role: :maintainer, response_status: 2004141 is expected to match (a collection containing exactly (a hash including "sha", "ref", "status", "web_url", and {"id" => 8}))4142 authorized user4143 returns project pipelines4144 avoids N+1 queries4145 keys in the response4146 includes pipeline source4147 when parameter is passed4148 when scope is running4149 returns matched pipelines4150 when scope is pending4151 returns matched pipelines4152 when scope is finished4153 returns matched pipelines4154 when scope is branches or tags4155 when scope is branches4156 returns matched pipelines4157 when scope is tags4158 returns matched pipelines4159 when scope is invalid4160 returns bad_request4161 when status is created4162 returns matched pipelines4163 when status is waiting_for_resource4164 returns matched pipelines4165 when status is preparing4166 returns matched pipelines4167 when status is pending4168 returns matched pipelines4169 when status is running4170 returns matched pipelines4171 when status is success4172 returns matched pipelines4173 when status is failed4174 returns matched pipelines4175 when status is canceled4176 returns matched pipelines4177 when status is skipped4178 returns matched pipelines4179 when status is manual4180 returns matched pipelines4181 when status is scheduled4182 returns matched pipelines4183 when status is invalid4184 returns bad_request4185 when ref is specified4186 when ref exists4187 returns matched pipelines4188 when ref does not exist4189 returns empty4190 when username is specified4191 when username exists4192 returns matched pipelines4193 when username does not exist4194 returns empty4195 when yaml_errors is specified4196 when yaml_errors is true4197 returns matched pipelines4198 when yaml_errors is false4199 returns matched pipelines4200 when yaml_errors is invalid4201 returns bad_request4202 when updated_at filters are specified4203 returns pipelines with last update date in specified datetime range4204 when order_by and sort are specified4205 when order_by user_id4206 when sort parameter is valid4207 sorts as user_id: :desc4208 when sort parameter is invalid4209 returns bad_request4210 when order_by is invalid4211 returns bad_request4212 when a source is specified4213 returns matched pipelines4214 when source is invalid4215 returns bad_request4216 when name is provided4217 filters by name4218 unauthorized user4219 does not return project pipelines4220 GET /projects/:id/pipelines/:pipeline_id/jobs4221 authorized user4222 returns pipeline jobs4223 returns correct values4224 returns pipeline data4225 avoids N+1 queries4226 behaves like a job with artifacts and trace4227 with artifacts and trace4228 returns artifacts and trace data4229 filter jobs with one scope element4230 aggregate_failures4231 when filtering to only running jobs4232 aggregate_failures4233 filter jobs with hash4234 is expected to respond with numeric status code bad_request4235 filter jobs with array of scope elements4236 aggregate_failures4237 respond 400 when scope contains invalid state4238 is expected to respond with numeric status code bad_request4239 jobs in different pipelines4240 excludes jobs from other pipelines4241 pipeline has retried jobs4242 does not return retried jobs by default4243 when include_retried is false4244 does not return retried jobs4245 when include_retried is true4246 returns retried jobs4247 no pipeline is found4248 does not return jobs4249 unauthorized user4250 when user is not logged in4251 does not return jobs4252 when user is guest4253 does not return jobs4254 GET /projects/:id/pipelines/:pipeline_id/bridges4255 authorized user4256 returns pipeline bridges4257 returns correct values4258 returns pipeline data4259 returns downstream pipeline data4260 avoids N+1 queries4261 filter bridges4262 with one scope element4263 skip_before_request4264 with array of scope elements4265 skip_before_request4266 respond 400 when scope contains invalid state4267 in an array4268 is expected to respond with numeric status code bad_request4269 in a hash4270 is expected to respond with numeric status code bad_request4271 in a string4272 is expected to respond with numeric status code bad_request4273 bridges in different pipelines4274 excludes bridges from other pipelines4275 no pipeline is found4276 does not return bridges4277 unauthorized user4278 when user is not logged in4279 does not return bridges4280 when user is guest4281 does not return bridges4282 when user has no read_build access for project4283 does not return bridges4284 POST /projects/:id/pipeline4285 authorized user4286 with gitlab-ci.yml4287 creates and returns a new pipeline4288 fails when using an invalid ref4289 variables given4290 creates and returns a new pipeline using the given variables4291 using variables conditions4292 creates and returns a new pipeline using the given variables4293 condition unmatch4294 doesn't create a job4295 without gitlab-ci.yml4296 without auto devops enabled4297 fails to create pipeline4298 unauthorized user4299 does not create pipeline4300 GET /projects/:id/pipelines/:pipeline_id4301 behaves like pipelines visibility table4302 visibility_level: :private, builds_access_level: :enabled, public_builds: true, is_admin: true, user_role: :non_member, response_status: 2004303 is expected to match (match response schema "public_api/v4/pipeline/detail")4304 visibility_level: :private, builds_access_level: :enabled, public_builds: true, is_admin: true, user_role: :guest, response_status: 2004305 is expected to match (match response schema "public_api/v4/pipeline/detail")4306 visibility_level: :private, builds_access_level: :enabled, public_builds: true, is_admin: true, user_role: :reporter, response_status: 2004307 is expected to match (match response schema "public_api/v4/pipeline/detail")4308 visibility_level: :private, builds_access_level: :enabled, public_builds: true, is_admin: true, user_role: :developer, response_status: 2004309 is expected to match (match response schema "public_api/v4/pipeline/detail")4310 visibility_level: :private, builds_access_level: :enabled, public_builds: true, is_admin: true, user_role: :maintainer, response_status: 2004311 is expected to match (match response schema "public_api/v4/pipeline/detail")4312 visibility_level: :private, builds_access_level: :enabled, public_builds: true, is_admin: false, user_role: nil, response_status: 4044313 is expected to match (a hash including "message")4314 visibility_level: :private, builds_access_level: :enabled, public_builds: true, is_admin: false, user_role: :non_member, response_status: 4044315 is expected to match (a hash including "message")4316 visibility_level: :private, builds_access_level: :enabled, public_builds: true, is_admin: false, user_role: :guest, response_status: 2004317 is expected to match (match response schema "public_api/v4/pipeline/detail")4318 visibility_level: :private, builds_access_level: :enabled, public_builds: true, is_admin: false, user_role: :reporter, response_status: 2004319 is expected to match (match response schema "public_api/v4/pipeline/detail")4320 visibility_level: :private, builds_access_level: :enabled, public_builds: true, is_admin: false, user_role: :developer, response_status: 2004321 is expected to match (match response schema "public_api/v4/pipeline/detail")4322 visibility_level: :private, builds_access_level: :enabled, public_builds: true, is_admin: false, user_role: :maintainer, response_status: 2004323 is expected to match (match response schema "public_api/v4/pipeline/detail")4324 visibility_level: :private, builds_access_level: :enabled, public_builds: false, is_admin: true, user_role: :non_member, response_status: 2004325 is expected to match (match response schema "public_api/v4/pipeline/detail")4326 visibility_level: :private, builds_access_level: :enabled, public_builds: false, is_admin: true, user_role: :guest, response_status: 2004327 is expected to match (match response schema "public_api/v4/pipeline/detail")4328 visibility_level: :private, builds_access_level: :enabled, public_builds: false, is_admin: true, user_role: :reporter, response_status: 2004329 is expected to match (match response schema "public_api/v4/pipeline/detail")4330 visibility_level: :private, builds_access_level: :enabled, public_builds: false, is_admin: true, user_role: :developer, response_status: 2004331 is expected to match (match response schema "public_api/v4/pipeline/detail")4332 visibility_level: :private, builds_access_level: :enabled, public_builds: false, is_admin: true, user_role: :maintainer, response_status: 2004333 is expected to match (match response schema "public_api/v4/pipeline/detail")4334 visibility_level: :private, builds_access_level: :enabled, public_builds: false, is_admin: false, user_role: nil, response_status: 4044335 is expected to match (a hash including "message")4336 visibility_level: :private, builds_access_level: :enabled, public_builds: false, is_admin: false, user_role: :non_member, response_status: 4044337 is expected to match (a hash including "message")4338 visibility_level: :private, builds_access_level: :enabled, public_builds: false, is_admin: false, user_role: :guest, response_status: 4034339 is expected to match (a hash including "message")4340 visibility_level: :private, builds_access_level: :enabled, public_builds: false, is_admin: false, user_role: :reporter, response_status: 2004341 is expected to match (match response schema "public_api/v4/pipeline/detail")4342 visibility_level: :private, builds_access_level: :enabled, public_builds: false, is_admin: false, user_role: :developer, response_status: 2004343 is expected to match (match response schema "public_api/v4/pipeline/detail")4344 visibility_level: :private, builds_access_level: :enabled, public_builds: false, is_admin: false, user_role: :maintainer, response_status: 2004345 is expected to match (match response schema "public_api/v4/pipeline/detail")4346 visibility_level: :private, builds_access_level: :private, public_builds: true, is_admin: true, user_role: :non_member, response_status: 2004347 is expected to match (match response schema "public_api/v4/pipeline/detail")4348 visibility_level: :private, builds_access_level: :private, public_builds: true, is_admin: true, user_role: :guest, response_status: 2004349 is expected to match (match response schema "public_api/v4/pipeline/detail")4350 visibility_level: :private, builds_access_level: :private, public_builds: true, is_admin: true, user_role: :reporter, response_status: 2004351 is expected to match (match response schema "public_api/v4/pipeline/detail")4352 visibility_level: :private, builds_access_level: :private, public_builds: true, is_admin: true, user_role: :developer, response_status: 2004353 is expected to match (match response schema "public_api/v4/pipeline/detail")4354 visibility_level: :private, builds_access_level: :private, public_builds: true, is_admin: true, user_role: :maintainer, response_status: 2004355 is expected to match (match response schema "public_api/v4/pipeline/detail")4356 visibility_level: :private, builds_access_level: :private, public_builds: true, is_admin: false, user_role: nil, response_status: 4044357 is expected to match (a hash including "message")4358 visibility_level: :private, builds_access_level: :private, public_builds: true, is_admin: false, user_role: :non_member, response_status: 4044359 is expected to match (a hash including "message")4360 visibility_level: :private, builds_access_level: :private, public_builds: true, is_admin: false, user_role: :guest, response_status: 2004361 is expected to match (match response schema "public_api/v4/pipeline/detail")4362 visibility_level: :private, builds_access_level: :private, public_builds: true, is_admin: false, user_role: :reporter, response_status: 2004363 is expected to match (match response schema "public_api/v4/pipeline/detail")4364 visibility_level: :private, builds_access_level: :private, public_builds: true, is_admin: false, user_role: :developer, response_status: 2004365 is expected to match (match response schema "public_api/v4/pipeline/detail")4366 visibility_level: :private, builds_access_level: :private, public_builds: true, is_admin: false, user_role: :maintainer, response_status: 2004367 is expected to match (match response schema "public_api/v4/pipeline/detail")4368 visibility_level: :private, builds_access_level: :private, public_builds: false, is_admin: true, user_role: :non_member, response_status: 2004369 is expected to match (match response schema "public_api/v4/pipeline/detail")4370 visibility_level: :private, builds_access_level: :private, public_builds: false, is_admin: true, user_role: :guest, response_status: 2004371 is expected to match (match response schema "public_api/v4/pipeline/detail")4372 visibility_level: :private, builds_access_level: :private, public_builds: false, is_admin: true, user_role: :reporter, response_status: 2004373 is expected to match (match response schema "public_api/v4/pipeline/detail")4374 visibility_level: :private, builds_access_level: :private, public_builds: false, is_admin: true, user_role: :developer, response_status: 2004375 is expected to match (match response schema "public_api/v4/pipeline/detail")4376 visibility_level: :private, builds_access_level: :private, public_builds: false, is_admin: true, user_role: :maintainer, response_status: 2004377 is expected to match (match response schema "public_api/v4/pipeline/detail")4378 visibility_level: :private, builds_access_level: :private, public_builds: false, is_admin: false, user_role: nil, response_status: 4044379 is expected to match (a hash including "message")4380 visibility_level: :private, builds_access_level: :private, public_builds: false, is_admin: false, user_role: :non_member, response_status: 4044381 is expected to match (a hash including "message")4382 visibility_level: :private, builds_access_level: :private, public_builds: false, is_admin: false, user_role: :guest, response_status: 4034383 is expected to match (a hash including "message")4384 visibility_level: :private, builds_access_level: :private, public_builds: false, is_admin: false, user_role: :reporter, response_status: 2004385 is expected to match (match response schema "public_api/v4/pipeline/detail")4386 visibility_level: :private, builds_access_level: :private, public_builds: false, is_admin: false, user_role: :developer, response_status: 2004387 is expected to match (match response schema "public_api/v4/pipeline/detail")4388 visibility_level: :private, builds_access_level: :private, public_builds: false, is_admin: false, user_role: :maintainer, response_status: 2004389 is expected to match (match response schema "public_api/v4/pipeline/detail")4390 visibility_level: :internal, builds_access_level: :enabled, public_builds: true, is_admin: true, user_role: :non_member, response_status: 2004391 is expected to match (match response schema "public_api/v4/pipeline/detail")4392 visibility_level: :internal, builds_access_level: :enabled, public_builds: true, is_admin: true, user_role: :guest, response_status: 2004393 is expected to match (match response schema "public_api/v4/pipeline/detail")4394 visibility_level: :internal, builds_access_level: :enabled, public_builds: true, is_admin: true, user_role: :reporter, response_status: 2004395 is expected to match (match response schema "public_api/v4/pipeline/detail")4396 visibility_level: :internal, builds_access_level: :enabled, public_builds: true, is_admin: true, user_role: :developer, response_status: 2004397 is expected to match (match response schema "public_api/v4/pipeline/detail")4398 visibility_level: :internal, builds_access_level: :enabled, public_builds: true, is_admin: true, user_role: :maintainer, response_status: 2004399 is expected to match (match response schema "public_api/v4/pipeline/detail")4400 visibility_level: :internal, builds_access_level: :enabled, public_builds: true, is_admin: false, user_role: nil, response_status: 4044401 is expected to match (a hash including "message")4402 visibility_level: :internal, builds_access_level: :enabled, public_builds: true, is_admin: false, user_role: :non_member, response_status: 2004403 is expected to match (match response schema "public_api/v4/pipeline/detail")4404 visibility_level: :internal, builds_access_level: :enabled, public_builds: true, is_admin: false, user_role: :guest, response_status: 2004405 is expected to match (match response schema "public_api/v4/pipeline/detail")4406 visibility_level: :internal, builds_access_level: :enabled, public_builds: true, is_admin: false, user_role: :reporter, response_status: 2004407 is expected to match (match response schema "public_api/v4/pipeline/detail")4408 visibility_level: :internal, builds_access_level: :enabled, public_builds: true, is_admin: false, user_role: :developer, response_status: 2004409 is expected to match (match response schema "public_api/v4/pipeline/detail")4410 visibility_level: :internal, builds_access_level: :enabled, public_builds: true, is_admin: false, user_role: :maintainer, response_status: 2004411 is expected to match (match response schema "public_api/v4/pipeline/detail")4412 visibility_level: :internal, builds_access_level: :enabled, public_builds: false, is_admin: true, user_role: :non_member, response_status: 2004413 is expected to match (match response schema "public_api/v4/pipeline/detail")4414 visibility_level: :internal, builds_access_level: :enabled, public_builds: false, is_admin: true, user_role: :guest, response_status: 2004415 is expected to match (match response schema "public_api/v4/pipeline/detail")4416 visibility_level: :internal, builds_access_level: :enabled, public_builds: false, is_admin: true, user_role: :reporter, response_status: 2004417 is expected to match (match response schema "public_api/v4/pipeline/detail")4418 visibility_level: :internal, builds_access_level: :enabled, public_builds: false, is_admin: true, user_role: :developer, response_status: 2004419 is expected to match (match response schema "public_api/v4/pipeline/detail")4420 visibility_level: :internal, builds_access_level: :enabled, public_builds: false, is_admin: true, user_role: :maintainer, response_status: 2004421 is expected to match (match response schema "public_api/v4/pipeline/detail")4422 visibility_level: :internal, builds_access_level: :enabled, public_builds: false, is_admin: false, user_role: nil, response_status: 4044423 is expected to match (a hash including "message")4424 visibility_level: :internal, builds_access_level: :enabled, public_builds: false, is_admin: false, user_role: :non_member, response_status: 4034425 is expected to match (a hash including "message")4426 visibility_level: :internal, builds_access_level: :enabled, public_builds: false, is_admin: false, user_role: :guest, response_status: 4034427 is expected to match (a hash including "message")4428 visibility_level: :internal, builds_access_level: :enabled, public_builds: false, is_admin: false, user_role: :reporter, response_status: 2004429 is expected to match (match response schema "public_api/v4/pipeline/detail")4430 visibility_level: :internal, builds_access_level: :enabled, public_builds: false, is_admin: false, user_role: :developer, response_status: 2004431 is expected to match (match response schema "public_api/v4/pipeline/detail")4432 visibility_level: :internal, builds_access_level: :enabled, public_builds: false, is_admin: false, user_role: :maintainer, response_status: 2004433 is expected to match (match response schema "public_api/v4/pipeline/detail")4434 visibility_level: :internal, builds_access_level: :private, public_builds: true, is_admin: true, user_role: :non_member, response_status: 2004435 is expected to match (match response schema "public_api/v4/pipeline/detail")4436 visibility_level: :internal, builds_access_level: :private, public_builds: true, is_admin: true, user_role: :guest, response_status: 2004437 is expected to match (match response schema "public_api/v4/pipeline/detail")4438 visibility_level: :internal, builds_access_level: :private, public_builds: true, is_admin: true, user_role: :reporter, response_status: 2004439 is expected to match (match response schema "public_api/v4/pipeline/detail")4440 visibility_level: :internal, builds_access_level: :private, public_builds: true, is_admin: true, user_role: :developer, response_status: 2004441 is expected to match (match response schema "public_api/v4/pipeline/detail")4442 visibility_level: :internal, builds_access_level: :private, public_builds: true, is_admin: true, user_role: :maintainer, response_status: 2004443 is expected to match (match response schema "public_api/v4/pipeline/detail")4444 visibility_level: :internal, builds_access_level: :private, public_builds: true, is_admin: false, user_role: nil, response_status: 4044445 is expected to match (a hash including "message")4446 visibility_level: :internal, builds_access_level: :private, public_builds: true, is_admin: false, user_role: :non_member, response_status: 4034447 is expected to match (a hash including "message")4448 visibility_level: :internal, builds_access_level: :private, public_builds: true, is_admin: false, user_role: :guest, response_status: 2004449 is expected to match (match response schema "public_api/v4/pipeline/detail")4450 visibility_level: :internal, builds_access_level: :private, public_builds: true, is_admin: false, user_role: :reporter, response_status: 2004451 is expected to match (match response schema "public_api/v4/pipeline/detail")4452 visibility_level: :internal, builds_access_level: :private, public_builds: true, is_admin: false, user_role: :developer, response_status: 2004453 is expected to match (match response schema "public_api/v4/pipeline/detail")4454 visibility_level: :internal, builds_access_level: :private, public_builds: true, is_admin: false, user_role: :maintainer, response_status: 2004455 is expected to match (match response schema "public_api/v4/pipeline/detail")4456 visibility_level: :internal, builds_access_level: :private, public_builds: false, is_admin: true, user_role: :non_member, response_status: 2004457 is expected to match (match response schema "public_api/v4/pipeline/detail")4458 visibility_level: :internal, builds_access_level: :private, public_builds: false, is_admin: true, user_role: :guest, response_status: 2004459 is expected to match (match response schema "public_api/v4/pipeline/detail")4460 visibility_level: :internal, builds_access_level: :private, public_builds: false, is_admin: true, user_role: :reporter, response_status: 2004461 is expected to match (match response schema "public_api/v4/pipeline/detail")4462 visibility_level: :internal, builds_access_level: :private, public_builds: false, is_admin: true, user_role: :developer, response_status: 2004463 is expected to match (match response schema "public_api/v4/pipeline/detail")4464 visibility_level: :internal, builds_access_level: :private, public_builds: false, is_admin: true, user_role: :maintainer, response_status: 2004465 is expected to match (match response schema "public_api/v4/pipeline/detail")4466 visibility_level: :internal, builds_access_level: :private, public_builds: false, is_admin: false, user_role: nil, response_status: 4044467 is expected to match (a hash including "message")4468 visibility_level: :internal, builds_access_level: :private, public_builds: false, is_admin: false, user_role: :non_member, response_status: 4034469 is expected to match (a hash including "message")4470 visibility_level: :internal, builds_access_level: :private, public_builds: false, is_admin: false, user_role: :guest, response_status: 4034471 is expected to match (a hash including "message")4472 visibility_level: :internal, builds_access_level: :private, public_builds: false, is_admin: false, user_role: :reporter, response_status: 2004473 is expected to match (match response schema "public_api/v4/pipeline/detail")4474 visibility_level: :internal, builds_access_level: :private, public_builds: false, is_admin: false, user_role: :developer, response_status: 2004475 is expected to match (match response schema "public_api/v4/pipeline/detail")4476 visibility_level: :internal, builds_access_level: :private, public_builds: false, is_admin: false, user_role: :maintainer, response_status: 2004477 is expected to match (match response schema "public_api/v4/pipeline/detail")4478 visibility_level: :public, builds_access_level: :enabled, public_builds: true, is_admin: true, user_role: :non_member, response_status: 2004479 is expected to match (match response schema "public_api/v4/pipeline/detail")4480 visibility_level: :public, builds_access_level: :enabled, public_builds: true, is_admin: true, user_role: :guest, response_status: 2004481 is expected to match (match response schema "public_api/v4/pipeline/detail")4482 visibility_level: :public, builds_access_level: :enabled, public_builds: true, is_admin: true, user_role: :reporter, response_status: 2004483 is expected to match (match response schema "public_api/v4/pipeline/detail")4484 visibility_level: :public, builds_access_level: :enabled, public_builds: true, is_admin: true, user_role: :developer, response_status: 2004485 is expected to match (match response schema "public_api/v4/pipeline/detail")4486 visibility_level: :public, builds_access_level: :enabled, public_builds: true, is_admin: true, user_role: :maintainer, response_status: 2004487 is expected to match (match response schema "public_api/v4/pipeline/detail")4488 visibility_level: :public, builds_access_level: :enabled, public_builds: true, is_admin: false, user_role: nil, response_status: 2004489 is expected to match (match response schema "public_api/v4/pipeline/detail")4490 visibility_level: :public, builds_access_level: :enabled, public_builds: true, is_admin: false, user_role: :non_member, response_status: 2004491 is expected to match (match response schema "public_api/v4/pipeline/detail")4492 visibility_level: :public, builds_access_level: :enabled, public_builds: true, is_admin: false, user_role: :guest, response_status: 2004493 is expected to match (match response schema "public_api/v4/pipeline/detail")4494 visibility_level: :public, builds_access_level: :enabled, public_builds: true, is_admin: false, user_role: :reporter, response_status: 2004495 is expected to match (match response schema "public_api/v4/pipeline/detail")4496 visibility_level: :public, builds_access_level: :enabled, public_builds: true, is_admin: false, user_role: :developer, response_status: 2004497 is expected to match (match response schema "public_api/v4/pipeline/detail")4498 visibility_level: :public, builds_access_level: :enabled, public_builds: true, is_admin: false, user_role: :maintainer, response_status: 2004499 is expected to match (match response schema "public_api/v4/pipeline/detail")4500 visibility_level: :public, builds_access_level: :enabled, public_builds: false, is_admin: true, user_role: :non_member, response_status: 2004501 is expected to match (match response schema "public_api/v4/pipeline/detail")4502 visibility_level: :public, builds_access_level: :enabled, public_builds: false, is_admin: true, user_role: :guest, response_status: 2004503 is expected to match (match response schema "public_api/v4/pipeline/detail")4504 visibility_level: :public, builds_access_level: :enabled, public_builds: false, is_admin: true, user_role: :reporter, response_status: 2004505 is expected to match (match response schema "public_api/v4/pipeline/detail")4506 visibility_level: :public, builds_access_level: :enabled, public_builds: false, is_admin: true, user_role: :developer, response_status: 2004507 is expected to match (match response schema "public_api/v4/pipeline/detail")4508 visibility_level: :public, builds_access_level: :enabled, public_builds: false, is_admin: true, user_role: :maintainer, response_status: 2004509 is expected to match (match response schema "public_api/v4/pipeline/detail")4510 visibility_level: :public, builds_access_level: :enabled, public_builds: false, is_admin: false, user_role: nil, response_status: 4034511 is expected to match (a hash including "message")4512 visibility_level: :public, builds_access_level: :enabled, public_builds: false, is_admin: false, user_role: :non_member, response_status: 4034513 is expected to match (a hash including "message")4514 visibility_level: :public, builds_access_level: :enabled, public_builds: false, is_admin: false, user_role: :guest, response_status: 4034515 is expected to match (a hash including "message")4516 visibility_level: :public, builds_access_level: :enabled, public_builds: false, is_admin: false, user_role: :reporter, response_status: 2004517 is expected to match (match response schema "public_api/v4/pipeline/detail")4518 visibility_level: :public, builds_access_level: :enabled, public_builds: false, is_admin: false, user_role: :developer, response_status: 2004519 is expected to match (match response schema "public_api/v4/pipeline/detail")4520 visibility_level: :public, builds_access_level: :enabled, public_builds: false, is_admin: false, user_role: :maintainer, response_status: 2004521 is expected to match (match response schema "public_api/v4/pipeline/detail")4522 visibility_level: :public, builds_access_level: :private, public_builds: true, is_admin: true, user_role: :non_member, response_status: 2004523 is expected to match (match response schema "public_api/v4/pipeline/detail")4524 visibility_level: :public, builds_access_level: :private, public_builds: true, is_admin: true, user_role: :guest, response_status: 2004525 is expected to match (match response schema "public_api/v4/pipeline/detail")4526 visibility_level: :public, builds_access_level: :private, public_builds: true, is_admin: true, user_role: :reporter, response_status: 2004527 is expected to match (match response schema "public_api/v4/pipeline/detail")4528 visibility_level: :public, builds_access_level: :private, public_builds: true, is_admin: true, user_role: :developer, response_status: 2004529 is expected to match (match response schema "public_api/v4/pipeline/detail")4530 visibility_level: :public, builds_access_level: :private, public_builds: true, is_admin: true, user_role: :maintainer, response_status: 2004531 is expected to match (match response schema "public_api/v4/pipeline/detail")4532 visibility_level: :public, builds_access_level: :private, public_builds: true, is_admin: false, user_role: nil, response_status: 4034533 is expected to match (a hash including "message")4534 visibility_level: :public, builds_access_level: :private, public_builds: true, is_admin: false, user_role: :non_member, response_status: 4034535 is expected to match (a hash including "message")4536 visibility_level: :public, builds_access_level: :private, public_builds: true, is_admin: false, user_role: :guest, response_status: 2004537 is expected to match (match response schema "public_api/v4/pipeline/detail")4538 visibility_level: :public, builds_access_level: :private, public_builds: true, is_admin: false, user_role: :reporter, response_status: 2004539 is expected to match (match response schema "public_api/v4/pipeline/detail")4540 visibility_level: :public, builds_access_level: :private, public_builds: true, is_admin: false, user_role: :developer, response_status: 2004541 is expected to match (match response schema "public_api/v4/pipeline/detail")4542 visibility_level: :public, builds_access_level: :private, public_builds: true, is_admin: false, user_role: :maintainer, response_status: 2004543 is expected to match (match response schema "public_api/v4/pipeline/detail")4544 visibility_level: :public, builds_access_level: :private, public_builds: false, is_admin: true, user_role: :non_member, response_status: 2004545 is expected to match (match response schema "public_api/v4/pipeline/detail")4546 visibility_level: :public, builds_access_level: :private, public_builds: false, is_admin: true, user_role: :guest, response_status: 2004547 is expected to match (match response schema "public_api/v4/pipeline/detail")4548 visibility_level: :public, builds_access_level: :private, public_builds: false, is_admin: true, user_role: :reporter, response_status: 2004549 is expected to match (match response schema "public_api/v4/pipeline/detail")4550 visibility_level: :public, builds_access_level: :private, public_builds: false, is_admin: true, user_role: :developer, response_status: 2004551 is expected to match (match response schema "public_api/v4/pipeline/detail")4552 visibility_level: :public, builds_access_level: :private, public_builds: false, is_admin: true, user_role: :maintainer, response_status: 2004553 is expected to match (match response schema "public_api/v4/pipeline/detail")4554 visibility_level: :public, builds_access_level: :private, public_builds: false, is_admin: false, user_role: nil, response_status: 4034555 is expected to match (a hash including "message")4556 visibility_level: :public, builds_access_level: :private, public_builds: false, is_admin: false, user_role: :non_member, response_status: 4034557 is expected to match (a hash including "message")4558 visibility_level: :public, builds_access_level: :private, public_builds: false, is_admin: false, user_role: :guest, response_status: 4034559 is expected to match (a hash including "message")4560 visibility_level: :public, builds_access_level: :private, public_builds: false, is_admin: false, user_role: :reporter, response_status: 2004561 is expected to match (match response schema "public_api/v4/pipeline/detail")4562 visibility_level: :public, builds_access_level: :private, public_builds: false, is_admin: false, user_role: :developer, response_status: 2004563 is expected to match (match response schema "public_api/v4/pipeline/detail")4564 visibility_level: :public, builds_access_level: :private, public_builds: false, is_admin: false, user_role: :maintainer, response_status: 2004565 is expected to match (match response schema "public_api/v4/pipeline/detail")4566 authorized user4567 exposes known attributes4568 returns project pipeline4569 returns 404 when it does not exist4570 with coverage4571 exposes the coverage4572 unauthorized user4573 does not return a project pipeline4574 when pipeline is a dangling pipeline4575 returns the specified pipeline4576 GET /projects/:id/pipelines/latest4577 authorized user4578 default repository branch4579 gets the latest pipleine4580 ref parameter4581 gets the latest pipleine4582 unauthorized user4583 does not return a project pipeline4584 GET /projects/:id/pipelines/:pipeline_id/variables4585 user is a mantainer4586 returns pipeline variables empty4587 with variables4588 returns pipeline variables4589 user is a developer4590 pipeline created by the developer user4591 returns pipeline variables4592 pipeline created is not created by the developer user4593 does not return pipeline variables4594 user is not a project member4595 does not return pipeline variables4596 DELETE /projects/:id/pipelines/:pipeline_id4597 authorized user4598 destroys the pipeline4599 returns 404 when it does not exist4600 does not log an audit event4601 when the pipeline has jobs4602 destroys associated jobs4603 when project is undergoing stats refresh4604 behaves like preventing request because of ongoing project stats refresh4605 logs about the rejected request4606 returns 409 error4607 does not delete the pipeline4608 unauthorized user4609 when user is not member4610 returns a 4044611 when user is developer4612 returns a 4034613 POST /projects/:id/pipelines/:pipeline_id/retry4614 authorized user4615 retries failed builds4616 unauthorized user4617 does not return a project pipeline4618 handles errors4619 returns error4620 POST /projects/:id/pipelines/:pipeline_id/cancel4621 authorized user4622 retries failed builds4623 user without proper access rights4624 rejects the action4625 GET /projects/:id/pipelines/:pipeline_id/test_report4626 authorized user4627 when pipeline does not have a test report4628 returns an empty test report4629 when pipeline has a test report4630 returns the test report4631 when pipeline has corrupt test reports4632 returns a suite_error4633 unauthorized user4634 does not return project pipelines4635 GET /projects/:id/pipelines/:pipeline_id/test_report_summary4636 authorized user4637 when pipeline does not have a test report summary4638 returns an empty test report summary4639 when pipeline has a test report summary4640 returns the test report summary4641 unauthorized user4642 does not return project pipelines4643API::Discussions4644 when discussions have cross-reference system notes4645 behaves like with cross-reference system notes4646 returns only the note that the user should see4647 avoids Git calls and N+1 SQL queries4648 when noteable is an Issue4649 behaves like discussions API4650 GET /projects/:id/issues/:noteable_id/discussions4651 returns an array of discussions4652 returns a 404 error when noteable id not found4653 returns 404 when not authorized4654 GET /projects/:id/issues/:noteable_id/discussions/:discussion_id4655 returns a discussion by id4656 returns a 404 error if discussion not found4657 POST /projects/:id/issues/:noteable_id/discussions4658 creates a new note4659 returns a 400 bad request error if body not given4660 returns a 401 unauthorized error if user not authenticated4661 tracks a Notes::CreateService event4662 when an admin or owner makes the request4663 accepts the creation date to be set4664 when user does not have access to read the discussion4665 responds with 4044666 when a project is public with private repo access4667 when user is not a team member of private repo4668 creating a new note4669 raises 404 error4670 fetching a discussion4671 raises 404 error4672 POST /projects/:id/issues/:noteable_id/discussions/:discussion_id/notes4673 adds a new note to the discussion4674 returns a 400 bad request error if body not given4675 when the discussion is an individual note4676 creates a new discussion4677 PUT /projects/:id/issues/:noteable_id/discussions/:discussion_id/notes/:note_id4678 returns modified note4679 returns a 404 error when note id not found4680 returns a 400 bad request error if body not given4681 DELETE /projects/:id/issues/:noteable_id/discussions/:discussion_id/notes/:note_id4682 deletes a note4683 returns a 404 error when note id not found4684 behaves like 412 response4685 for a modified resource4686 returns 412 with a JSON error4687 for an unmodified resource4688 returns 204 with an empty body4689 when noteable is a WorkItem4690 behaves like discussions API4691 GET /projects/:id/issues/:noteable_id/discussions4692 returns an array of discussions4693 returns a 404 error when noteable id not found4694 returns 404 when not authorized4695 GET /projects/:id/issues/:noteable_id/discussions/:discussion_id4696 returns a discussion by id4697 returns a 404 error if discussion not found4698 POST /projects/:id/issues/:noteable_id/discussions4699 creates a new note4700 returns a 400 bad request error if body not given4701 returns a 401 unauthorized error if user not authenticated4702 tracks a Notes::CreateService event4703 when an admin or owner makes the request4704 accepts the creation date to be set4705 when user does not have access to read the discussion4706 responds with 4044707 when a project is public with private repo access4708 when user is not a team member of private repo4709 creating a new note4710 raises 404 error4711 fetching a discussion4712 raises 404 error4713 POST /projects/:id/issues/:noteable_id/discussions/:discussion_id/notes4714 adds a new note to the discussion4715 returns a 400 bad request error if body not given4716 when the discussion is an individual note4717 creates a new discussion4718 PUT /projects/:id/issues/:noteable_id/discussions/:discussion_id/notes/:note_id4719 returns modified note4720 returns a 404 error when note id not found4721 returns a 400 bad request error if body not given4722 DELETE /projects/:id/issues/:noteable_id/discussions/:discussion_id/notes/:note_id4723 deletes a note4724 returns a 404 error when note id not found4725 behaves like 412 response4726 for a modified resource4727 returns 412 with a JSON error4728 for an unmodified resource4729 returns 204 with an empty body4730 with work item without notes widget4731 when fetching discussions4732 returns 4044733 when single fetching discussion by discussion_id4734 returns 4044735 when trying to create a new discussion4736 returns 4044737 when trying to create a new comment on a discussion4738 returns 4044739 when trying to update a new comment on a discussion4740 returns 4044741 when deleting a note4742 returns 4044743 when noteable is a Snippet4744 behaves like discussions API4745 GET /projects/:id/snippets/:noteable_id/discussions4746 returns an array of discussions4747 returns a 404 error when noteable id not found4748 returns 404 when not authorized4749 GET /projects/:id/snippets/:noteable_id/discussions/:discussion_id4750 returns a discussion by id4751 returns a 404 error if discussion not found4752 POST /projects/:id/snippets/:noteable_id/discussions4753 creates a new note4754 returns a 400 bad request error if body not given4755 returns a 401 unauthorized error if user not authenticated4756 tracks a Notes::CreateService event4757 when an admin or owner makes the request4758 accepts the creation date to be set4759 when user does not have access to read the discussion4760 responds with 4044761 when a project is public with private repo access4762 when user is not a team member of private repo4763 creating a new note4764 raises 404 error4765 fetching a discussion4766 raises 404 error4767 POST /projects/:id/snippets/:noteable_id/discussions/:discussion_id/notes4768 adds a new note to the discussion4769 returns a 400 bad request error if body not given4770 when the discussion is an individual note4771 returns 400 bad request4772 PUT /projects/:id/snippets/:noteable_id/discussions/:discussion_id/notes/:note_id4773 returns modified note4774 returns a 404 error when note id not found4775 returns a 400 bad request error if body not given4776 DELETE /projects/:id/snippets/:noteable_id/discussions/:discussion_id/notes/:note_id4777 deletes a note4778 returns a 404 error when note id not found4779 behaves like 412 response4780 for a modified resource4781 returns 412 with a JSON error4782 for an unmodified resource4783 returns 204 with an empty body4784 when noteable is a Merge Request4785 behaves like discussions API4786 GET /projects/:id/merge_requests/:noteable_id/discussions4787 returns an array of discussions4788 returns a 404 error when noteable id not found4789 returns 404 when not authorized4790 GET /projects/:id/merge_requests/:noteable_id/discussions/:discussion_id4791 returns a discussion by id4792 returns a 404 error if discussion not found4793 POST /projects/:id/merge_requests/:noteable_id/discussions4794 creates a new note4795 returns a 400 bad request error if body not given4796 returns a 401 unauthorized error if user not authenticated4797 tracks a Notes::CreateService event4798 when an admin or owner makes the request4799 accepts the creation date to be set4800 when user does not have access to read the discussion4801 responds with 4044802 when a project is public with private repo access4803 when user is not a team member of private repo4804 creating a new note4805 raises 404 error4806 fetching a discussion4807 raises 404 error4808 POST /projects/:id/merge_requests/:noteable_id/discussions/:discussion_id/notes4809 adds a new note to the discussion4810 returns a 400 bad request error if body not given4811 when the discussion is an individual note4812 creates a new discussion4813 PUT /projects/:id/merge_requests/:noteable_id/discussions/:discussion_id/notes/:note_id4814 returns modified note4815 returns a 404 error when note id not found4816 returns a 400 bad request error if body not given4817 DELETE /projects/:id/merge_requests/:noteable_id/discussions/:discussion_id/notes/:note_id4818 deletes a note4819 returns a 404 error when note id not found4820 behaves like 412 response4821 for a modified resource4822 returns 412 with a JSON error4823 for an unmodified resource4824 returns 204 with an empty body4825 behaves like diff discussions API4826 GET /projects/:id/merge_requests/:noteable_id/discussions4827 includes diff discussions4828 GET /projects/:id/merge_requests/:noteable_id/discussions/:discussion_id4829 returns a discussion by id4830 POST /projects/:id/merge_requests/:noteable_id/discussions4831 creates a new diff note4832 when position is invalid4833 returns a 400 bad request error when position is not plausible4834 returns a 400 bad request error when the position is not valid for this discussion4835 POST /projects/:id/merge_requests/:noteable_id/discussions/:discussion_id/notes4836 adds a new note to the diff discussion4837 behaves like resolvable discussions API4838 PUT /projects/:id/merge_requests/:noteable_id/discussions/:discussion_id4839 resolves discussion if resolved is true4840 unresolves discussion if resolved is false4841 returns a 400 bad request error if resolved parameter is not passed4842 returns a 401 unauthorized error if user is not authenticated4843 returns a 403 error if user resolves discussion of someone else4844 when user does not have access to read the discussion4845 responds with 4044846 PUT /projects/:id/merge_requests/:noteable_id/discussions/:discussion_id/notes/:note_id4847 returns resolved note when resolved parameter is true4848 returns a 404 error when note id not found4849 returns a 400 bad request error if neither body nor resolved parameter is given4850 returns a 403 error if user resolves note of someone else4851 when position_type is file4852 creates a new diff note4853 when position is for a previous commit on the merge request4854 returns a 400 bad request error because the line_code is old4855 when a commit parameter is given4856 creates the discussion on that commit within the merge request4857 when noteable is a Commit4858 behaves like discussions API4859 GET /projects/:id/repository/commits/:noteable_id/discussions4860 returns an array of discussions4861 returns a 404 error when noteable id not found4862 returns 404 when not authorized4863 GET /projects/:id/repository/commits/:noteable_id/discussions/:discussion_id4864 returns a discussion by id4865 returns a 404 error if discussion not found4866 POST /projects/:id/repository/commits/:noteable_id/discussions4867 creates a new note4868 returns a 400 bad request error if body not given4869 returns a 401 unauthorized error if user not authenticated4870 tracks a Notes::CreateService event4871 when an admin or owner makes the request4872 accepts the creation date to be set4873 when user does not have access to read the discussion4874 responds with 4044875 when a project is public with private repo access4876 when user is not a team member of private repo4877 creating a new note4878 raises 404 error4879 fetching a discussion4880 raises 404 error4881 POST /projects/:id/repository/commits/:noteable_id/discussions/:discussion_id/notes4882 adds a new note to the discussion4883 returns a 400 bad request error if body not given4884 when the discussion is an individual note4885 returns 400 bad request4886 PUT /projects/:id/repository/commits/:noteable_id/discussions/:discussion_id/notes/:note_id4887 returns modified note4888 returns a 404 error when note id not found4889 returns a 400 bad request error if body not given4890 DELETE /projects/:id/repository/commits/:noteable_id/discussions/:discussion_id/notes/:note_id4891 deletes a note4892 returns a 404 error when note id not found4893 behaves like 412 response4894 for a modified resource4895 returns 412 with a JSON error4896 for an unmodified resource4897 returns 204 with an empty body4898 behaves like diff discussions API4899 GET /projects/:id/repository/commits/:noteable_id/discussions4900 includes diff discussions4901 GET /projects/:id/repository/commits/:noteable_id/discussions/:discussion_id4902 returns a discussion by id4903 POST /projects/:id/repository/commits/:noteable_id/discussions4904 creates a new diff note4905 when position is invalid4906 returns a 400 bad request error when position is not plausible4907 returns a 400 bad request error when the position is not valid for this discussion4908 POST /projects/:id/repository/commits/:noteable_id/discussions/:discussion_id/notes4909 adds a new note to the diff discussion4910Projects::PipelinesController4911 GET index.json4912 does not include coverage data for the pipelines4913 paginates the result4914 when using persisted stages4915 returns serialized pipelines4916 when performing gitaly calls4917 limits the Gitaly requests4918 when the project is private4919 returns `not_found` when the user does not have access4920 returns the pipelines when the user has access4921 when user tries to access legacy scope via URL4922 redirects to all pipelines with that status instead4923 filter by scope4924 scope is branches or tags4925 when scope is branches4926 returns matched pipelines4927 when scope is tags4928 returns matched pipelines4929 filter by username4930 when username exists4931 returns matched pipelines4932 when username does not exist4933 returns empty4934 filter by ref4935 when pipelines with the ref exists4936 returns matched pipelines4937 when no pipeline with the ref exists4938 returns empty list4939 filter by status4940 when pipelines with the status exists4941 returns matched pipelines4942 when no pipeline with the status exists4943 returns empty list4944 when invalid status4945 returns all list4946 GET #show4947 when the project is public4948DEPRECATION WARNING: The asset "illustrations/pipeline.svg" is not present in the asset pipeline.4949Falling back to an asset that may be in the public folder.4950This behavior is deprecated and will be removed.4951To bypass the asset pipeline and preserve this behavior,4952use the `skip_pipeline: true` option.4953 (called from js_pipeline_tabs_data at /builds/gitlab-org/gitlab/app/helpers/projects/pipeline_helper.rb:23)4954DEPRECATION WARNING: The asset "illustrations/pipeline.svg" is not present in the asset pipeline.4955Falling back to an asset that may be in the public folder.4956This behavior is deprecated and will be removed.4957To bypass the asset pipeline and preserve this behavior,4958use the `skip_pipeline: true` option.4959 (called from js_pipeline_tabs_data at /builds/gitlab-org/gitlab/app/helpers/projects/pipeline_helper.rb:23)4960DEPRECATION WARNING: The asset "illustrations/pipeline.svg" is not present in the asset pipeline.4961Falling back to an asset that may be in the public folder.4962This behavior is deprecated and will be removed.4963To bypass the asset pipeline and preserve this behavior,4964use the `skip_pipeline: true` option.4965 (called from js_pipeline_tabs_data at /builds/gitlab-org/gitlab/app/helpers/projects/pipeline_helper.rb:23)4966 avoids N+1 database queries4967 when the project is private4968 returns `not_found` when the user does not have access4969 GET show.json4970 returns the pipeline4971 when the pipeline has multiple stages and groups4972 does not perform N + 1 queries4973 when builds are disabled4974 users can not see internal pipelines4975 when pipeline is external4976 users can see the external pipeline4977 with triggered pipelines4978 when it does have permission to read other projects4979 when not-expanding any pipelines4980 behaves like not expanded4981 does return base details4982 does not expand triggered_by pipeline4983 does not expand triggered pipelines4984 when expanding non-existing pipeline4985 behaves like not expanded4986 does return base details4987 does not expand triggered_by pipeline4988 does not expand triggered pipelines4989 when expanding pipeline that is not directly expandable4990 behaves like not expanded4991 does return base details4992 does not expand triggered_by pipeline4993 does not expand triggered pipelines4994 when expanding self4995 it does not recursively expand pipelines4996 behaves like not expanded4997 does return base details4998 does not expand triggered_by pipeline4999 does not expand triggered pipelines5000 when expanding source and target pipeline5001 behaves like expanded5002 does return base details5003 does expand triggered_by pipeline5004 does not recursively expand triggered_by5005 does expand triggered pipelines5006 does not recursively expand triggered5007 when expand depth is limited to 15008 behaves like not expanded5009 does return base details5010 does not expand triggered_by pipeline5011 does not expand triggered pipelines5012 when expanding all5013 behaves like expanded5014 does return base details5015 does expand triggered_by pipeline5016 does not recursively expand triggered_by5017 does expand triggered pipelines5018 does not recursively expand triggered5019 when does not have permission to read other projects5020 behaves like not expanded5021 does return base details5022 does not expand triggered_by pipeline5023 does not expand triggered pipelines5024 GET dag5025 behaves like the show page5026 renders the show template5027 GET dag.json5028 returns the pipeline with DAG serialization5029 GET builds5030 behaves like the show page5031 renders the show template5032 GET failures5033 with failed jobs5034 shows the page5035 without failed jobs5036 redirects to the main pipeline page5037 GET stages.json5038 when accessing existing stage5039 without retried5040 returns pipeline jobs without the retried builds5041 with retried5042 returns pipelines jobs with the retried builds5043 when accessing unknown stage5044 responds with not found5045 GET status.json5046 return a detailed pipeline status in json5047 GET #charts5048 behaves like tracking unique visits5049 tracks unique visit if the format is HTML5050 tracks unique visit if DNT is not enabled5051 does not track unique visit if DNT is enabled5052 does not track unique visit if the format is JSON5053 behaves like Snowplow event tracking with RedisHLL context5054 behaves like Snowplow event tracking5055 is emitted5056 behaves like tracking unique visits5057 tracks unique visit if the format is HTML5058 tracks unique visit if DNT is not enabled5059 does not track unique visit if DNT is enabled5060 does not track unique visit if the format is JSON5061 behaves like Snowplow event tracking with RedisHLL context5062 behaves like Snowplow event tracking5063 is emitted5064 behaves like tracking unique visits5065 tracks unique visit if the format is HTML5066 tracks unique visit if DNT is not enabled5067 does not track unique visit if DNT is enabled5068 does not track unique visit if the format is JSON5069 behaves like internal event tracking5070 logs to Snowplow5071 behaves like tracking unique visits5072 tracks unique visit if the format is HTML5073 tracks unique visit if DNT is not enabled5074 does not track unique visit if DNT is enabled5075 does not track unique visit if the format is JSON5076 behaves like internal event tracking5077 logs to Snowplow5078 behaves like tracking unique visits5079 tracks unique visit if the format is HTML5080 tracks unique visit if DNT is not enabled5081 does not track unique visit if DNT is enabled5082 does not track unique visit if the format is JSON5083 behaves like internal event tracking5084 logs to Snowplow5085 behaves like tracking unique visits5086 tracks unique visit if the format is HTML5087 tracks unique visit if DNT is not enabled5088 does not track unique visit if DNT is enabled5089 does not track unique visit if the format is JSON5090 behaves like internal event tracking5091 logs to Snowplow5092 POST create5093 with a valid .gitlab-ci.yml file5094 behaves like creates a pipeline5095 is expected to redirect to "/namespace459/project-605/-/pipelines/257"5096 when latest commit contains [ci skip]5097 behaves like creates a pipeline5098 is expected to redirect to "/namespace460/project-606/-/pipelines/258"5099 with an invalid .gitlab-ci.yml file5100 does not persist a pipeline5101 POST create.json5102 with a valid .gitlab-ci.yml file5103 creates a pipeline5104 with an invalid .gitlab-ci.yml file5105 does not create a pipeline5106 POST retry.json5107 retries a pipeline in the background without returning any content5108 when builds are disabled5109 fails to retry pipeline5110 when access denied5111 returns an error5112 when service returns an error5113 does not retry5114 POST cancel.json5115 cancels a pipeline without returning any content5116 when builds are disabled5117 fails to retry pipeline5118 GET test_report5119 behaves like the show page5120 renders the show template5121 GET test_report.json5122 with attachments5123 does not have N+1 problem with attachments5124 when pipeline does not have a test report5125 renders an empty test report5126 when pipeline has a test report5127 renders the test report5128 when pipeline has a corrupt test report artifact5129 renders the test reports5130 returns a suite_error on the suite with corrupted XML5131 when test_report contains attachment and scope is with_attachment as a URL param5132 returns a test reports with attachment5133 when test_report does not contain attachment and scope is with_attachment as a URL param5134 returns a test reports with empty values5135 GET latest5136 renders a 404 if no pipeline is found for the ref5137 no ref provided5138 shows latest pipeline for the default project branch5139 ref provided5140 shows a 404 if no pipeline exists5141DEPRECATION WARNING: The asset "illustrations/pipeline.svg" is not present in the asset pipeline.5142Falling back to an asset that may be in the public folder.5143This behavior is deprecated and will be removed.5144To bypass the asset pipeline and preserve this behavior,5145use the `skip_pipeline: true` option.5146 (called from js_pipeline_tabs_data at /builds/gitlab-org/gitlab/app/helpers/projects/pipeline_helper.rb:23)5147 shows the latest pipeline for the provided ref5148 newer pipeline exists for older sha5149DEPRECATION WARNING: The asset "illustrations/pipeline.svg" is not present in the asset pipeline.5150Falling back to an asset that may be in the public folder.5151This behavior is deprecated and will be removed.5152To bypass the asset pipeline and preserve this behavior,5153use the `skip_pipeline: true` option.5154 (called from js_pipeline_tabs_data at /builds/gitlab-org/gitlab/app/helpers/projects/pipeline_helper.rb:23)5155 shows the provided ref with the last sha/pipeline combo5156 DELETE #destroy5157 when user has ability to delete pipeline5158 deletes pipeline and redirects5159 and builds are disabled5160 fails to delete pipeline5161 and project is undergoing stats refresh5162 behaves like preventing request because of ongoing project stats refresh5163 logs about the rejected request5164 returns 409 error5165 does not delete the pipeline5166 when user has no privileges5167 fails to delete pipeline5168 GET downloadable_artifacts.json5169 when pipeline is empty5170 returns status not_found5171 when pipeline exists5172 when pipeline does not have any downloadable artifacts5173 returns an empty array5174 when pipeline has downloadable artifacts5175 returns an array of artifacts5176API::GenericPackages5177 PUT /api/v4/projects/:id/packages/generic/:package_name/:package_version/:file_name/authorize5178 with valid project5179 project_visibility: "PUBLIC", user_role: :developer, member?: true, authenticate_with: :personal_access_token, expected_status: :success5180 responds with success5181 project_visibility: "PUBLIC", user_role: :guest, member?: true, authenticate_with: :personal_access_token, expected_status: :forbidden5182 responds with forbidden5183 project_visibility: "PUBLIC", user_role: :developer, member?: true, authenticate_with: :invalid_personal_access_token, expected_status: :unauthorized5184 responds with unauthorized5185 project_visibility: "PUBLIC", user_role: :guest, member?: true, authenticate_with: :invalid_personal_access_token, expected_status: :unauthorized5186 responds with unauthorized5187 project_visibility: "PUBLIC", user_role: :developer, member?: true, authenticate_with: :user_basic_auth, expected_status: :success5188 responds with success5189 project_visibility: "PUBLIC", user_role: :guest, member?: true, authenticate_with: :user_basic_auth, expected_status: :forbidden5190 responds with forbidden5191 project_visibility: "PUBLIC", user_role: :developer, member?: true, authenticate_with: :invalid_user_basic_auth, expected_status: :unauthorized5192 responds with unauthorized5193 project_visibility: "PUBLIC", user_role: :guest, member?: true, authenticate_with: :invalid_user_basic_auth, expected_status: :unauthorized5194 responds with unauthorized5195 project_visibility: "PUBLIC", user_role: :developer, member?: false, authenticate_with: :personal_access_token, expected_status: :forbidden5196 responds with forbidden5197 project_visibility: "PUBLIC", user_role: :guest, member?: false, authenticate_with: :personal_access_token, expected_status: :forbidden5198 responds with forbidden5199 project_visibility: "PUBLIC", user_role: :developer, member?: false, authenticate_with: :invalid_personal_access_token, expected_status: :unauthorized5200 responds with unauthorized5201 project_visibility: "PUBLIC", user_role: :guest, member?: false, authenticate_with: :invalid_personal_access_token, expected_status: :unauthorized5202 responds with unauthorized5203 project_visibility: "PUBLIC", user_role: :developer, member?: false, authenticate_with: :user_basic_auth, expected_status: :forbidden5204 responds with forbidden5205 project_visibility: "PUBLIC", user_role: :guest, member?: false, authenticate_with: :user_basic_auth, expected_status: :forbidden5206 responds with forbidden5207 project_visibility: "PUBLIC", user_role: :developer, member?: false, authenticate_with: :invalid_user_basic_auth, expected_status: :unauthorized5208 responds with unauthorized5209 project_visibility: "PUBLIC", user_role: :guest, member?: false, authenticate_with: :invalid_user_basic_auth, expected_status: :unauthorized5210 responds with unauthorized5211 project_visibility: "PUBLIC", user_role: :anonymous, member?: false, authenticate_with: :none, expected_status: :unauthorized5212 responds with unauthorized5213 project_visibility: "PRIVATE", user_role: :developer, member?: true, authenticate_with: :personal_access_token, expected_status: :success5214 responds with success5215 project_visibility: "PRIVATE", user_role: :guest, member?: true, authenticate_with: :personal_access_token, expected_status: :forbidden5216 responds with forbidden5217 project_visibility: "PRIVATE", user_role: :developer, member?: true, authenticate_with: :invalid_personal_access_token, expected_status: :unauthorized5218 responds with unauthorized5219 project_visibility: "PRIVATE", user_role: :guest, member?: true, authenticate_with: :invalid_personal_access_token, expected_status: :unauthorized5220 responds with unauthorized5221 project_visibility: "PRIVATE", user_role: :developer, member?: true, authenticate_with: :user_basic_auth, expected_status: :success5222 responds with success5223 project_visibility: "PRIVATE", user_role: :guest, member?: true, authenticate_with: :user_basic_auth, expected_status: :forbidden5224 responds with forbidden5225 project_visibility: "PRIVATE", user_role: :developer, member?: true, authenticate_with: :invalid_user_basic_auth, expected_status: :unauthorized5226 responds with unauthorized5227 project_visibility: "PRIVATE", user_role: :guest, member?: true, authenticate_with: :invalid_user_basic_auth, expected_status: :unauthorized5228 responds with unauthorized5229 project_visibility: "PRIVATE", user_role: :developer, member?: false, authenticate_with: :personal_access_token, expected_status: :not_found5230 responds with not_found5231 project_visibility: "PRIVATE", user_role: :guest, member?: false, authenticate_with: :personal_access_token, expected_status: :not_found5232 responds with not_found5233 project_visibility: "PRIVATE", user_role: :developer, member?: false, authenticate_with: :invalid_personal_access_token, expected_status: :unauthorized5234 responds with unauthorized5235 project_visibility: "PRIVATE", user_role: :guest, member?: false, authenticate_with: :invalid_personal_access_token, expected_status: :unauthorized5236 responds with unauthorized5237 project_visibility: "PRIVATE", user_role: :developer, member?: false, authenticate_with: :user_basic_auth, expected_status: :not_found5238 responds with not_found5239 project_visibility: "PRIVATE", user_role: :guest, member?: false, authenticate_with: :user_basic_auth, expected_status: :not_found5240 responds with not_found5241 project_visibility: "PRIVATE", user_role: :developer, member?: false, authenticate_with: :invalid_user_basic_auth, expected_status: :unauthorized5242 responds with unauthorized5243 project_visibility: "PRIVATE", user_role: :guest, member?: false, authenticate_with: :invalid_user_basic_auth, expected_status: :unauthorized5244 responds with unauthorized5245 project_visibility: "PRIVATE", user_role: :anonymous, member?: false, authenticate_with: :none, expected_status: :unauthorized5246 responds with unauthorized5247 project_visibility: "PUBLIC", user_role: :developer, member?: true, authenticate_with: :job_token, expected_status: :success5248 responds with success5249 project_visibility: "PUBLIC", user_role: :developer, member?: true, authenticate_with: :invalid_job_token, expected_status: :unauthorized5250 responds with unauthorized5251 project_visibility: "PUBLIC", user_role: :developer, member?: false, authenticate_with: :job_token, expected_status: :forbidden5252 responds with forbidden5253 project_visibility: "PUBLIC", user_role: :developer, member?: false, authenticate_with: :invalid_job_token, expected_status: :unauthorized5254 responds with unauthorized5255 project_visibility: "PRIVATE", user_role: :developer, member?: true, authenticate_with: :job_token, expected_status: :success5256 responds with success5257 project_visibility: "PRIVATE", user_role: :developer, member?: true, authenticate_with: :invalid_job_token, expected_status: :unauthorized5258 responds with unauthorized5259 project_visibility: "PRIVATE", user_role: :developer, member?: false, authenticate_with: :job_token, expected_status: :not_found5260 responds with not_found5261 project_visibility: "PRIVATE", user_role: :developer, member?: false, authenticate_with: :invalid_job_token, expected_status: :unauthorized5262 responds with unauthorized5263 authenticate_with: :deploy_token_rw, expected_status: :success5264 responds with success5265 authenticate_with: :deploy_token_wo, expected_status: :success5266 responds with success5267 authenticate_with: :deploy_token_ro, expected_status: :forbidden5268 responds with forbidden5269 authenticate_with: :invalid_deploy_token, expected_status: :unauthorized5270 responds with unauthorized5271 application security5272 param_name: :package_name, param_value: "my-package/../"5273 behaves like secure endpoint5274 rejects malicious request5275 param_name: :package_name, param_value: "my-package%2f%2e%2e%2f"5276 behaves like secure endpoint5277 rejects malicious request5278 param_name: :file_name, param_value: "../.ssh%2fauthorized_keys"5279 behaves like secure endpoint5280 rejects malicious request5281 param_name: :file_name, param_value: "%2e%2e%2f.ssh%2fauthorized_keys"5282 behaves like secure endpoint5283 rejects malicious request5284 PUT /api/v4/projects/:id/packages/generic/:package_name/:package_version/:file_name5285 authentication5286 project_visibility: "PUBLIC", user_role: :guest, member?: true, authenticate_with: :personal_access_token, expected_status: :forbidden5287 responds with forbidden5288 project_visibility: "PUBLIC", user_role: :guest, member?: true, authenticate_with: :user_basic_auth, expected_status: :forbidden5289 responds with forbidden5290 project_visibility: "PUBLIC", user_role: :developer, member?: true, authenticate_with: :invalid_personal_access_token, expected_status: :unauthorized5291 responds with unauthorized5292 project_visibility: "PUBLIC", user_role: :guest, member?: true, authenticate_with: :invalid_personal_access_token, expected_status: :unauthorized5293 responds with unauthorized5294 project_visibility: "PUBLIC", user_role: :developer, member?: true, authenticate_with: :invalid_user_basic_auth, expected_status: :unauthorized5295 responds with unauthorized5296 project_visibility: "PUBLIC", user_role: :guest, member?: true, authenticate_with: :invalid_user_basic_auth, expected_status: :unauthorized5297 responds with unauthorized5298 project_visibility: "PUBLIC", user_role: :developer, member?: false, authenticate_with: :personal_access_token, expected_status: :forbidden5299 responds with forbidden5300 project_visibility: "PUBLIC", user_role: :guest, member?: false, authenticate_with: :personal_access_token, expected_status: :forbidden5301 responds with forbidden5302 project_visibility: "PUBLIC", user_role: :developer, member?: false, authenticate_with: :user_basic_auth, expected_status: :forbidden5303 responds with forbidden5304 project_visibility: "PUBLIC", user_role: :guest, member?: false, authenticate_with: :user_basic_auth, expected_status: :forbidden5305 responds with forbidden5306 project_visibility: "PUBLIC", user_role: :developer, member?: false, authenticate_with: :invalid_personal_access_token, expected_status: :unauthorized5307 responds with unauthorized5308 project_visibility: "PUBLIC", user_role: :guest, member?: false, authenticate_with: :invalid_personal_access_token, expected_status: :unauthorized5309 responds with unauthorized5310 project_visibility: "PUBLIC", user_role: :developer, member?: false, authenticate_with: :invalid_user_basic_auth, expected_status: :unauthorized5311 responds with unauthorized5312 project_visibility: "PUBLIC", user_role: :guest, member?: false, authenticate_with: :invalid_user_basic_auth, expected_status: :unauthorized5313 responds with unauthorized5314 project_visibility: "PUBLIC", user_role: :anonymous, member?: false, authenticate_with: :none, expected_status: :unauthorized5315 responds with unauthorized5316 project_visibility: "PRIVATE", user_role: :guest, member?: true, authenticate_with: :personal_access_token, expected_status: :forbidden5317 responds with forbidden5318 project_visibility: "PRIVATE", user_role: :guest, member?: true, authenticate_with: :user_basic_auth, expected_status: :forbidden5319 responds with forbidden5320 project_visibility: "PRIVATE", user_role: :developer, member?: true, authenticate_with: :invalid_personal_access_token, expected_status: :unauthorized5321 responds with unauthorized5322 project_visibility: "PRIVATE", user_role: :guest, member?: true, authenticate_with: :invalid_personal_access_token, expected_status: :unauthorized5323 responds with unauthorized5324 project_visibility: "PRIVATE", user_role: :developer, member?: true, authenticate_with: :invalid_user_basic_auth, expected_status: :unauthorized5325 responds with unauthorized5326 project_visibility: "PRIVATE", user_role: :guest, member?: true, authenticate_with: :invalid_user_basic_auth, expected_status: :unauthorized5327 responds with unauthorized5328 project_visibility: "PRIVATE", user_role: :developer, member?: false, authenticate_with: :personal_access_token, expected_status: :not_found5329 responds with not_found5330 project_visibility: "PRIVATE", user_role: :guest, member?: false, authenticate_with: :personal_access_token, expected_status: :not_found5331 responds with not_found5332 project_visibility: "PRIVATE", user_role: :developer, member?: false, authenticate_with: :user_basic_auth, expected_status: :not_found5333 responds with not_found5334 project_visibility: "PRIVATE", user_role: :guest, member?: false, authenticate_with: :user_basic_auth, expected_status: :not_found5335 responds with not_found5336 project_visibility: "PRIVATE", user_role: :developer, member?: false, authenticate_with: :invalid_personal_access_token, expected_status: :unauthorized5337 responds with unauthorized5338 project_visibility: "PRIVATE", user_role: :guest, member?: false, authenticate_with: :invalid_personal_access_token, expected_status: :unauthorized5339 responds with unauthorized5340 project_visibility: "PRIVATE", user_role: :developer, member?: false, authenticate_with: :invalid_user_basic_auth, expected_status: :unauthorized5341 responds with unauthorized5342 project_visibility: "PRIVATE", user_role: :guest, member?: false, authenticate_with: :invalid_user_basic_auth, expected_status: :unauthorized5343 responds with unauthorized5344 project_visibility: "PRIVATE", user_role: :anonymous, member?: false, authenticate_with: :none, expected_status: :unauthorized5345 responds with unauthorized5346 project_visibility: "PUBLIC", user_role: :developer, member?: true, authenticate_with: :invalid_job_token, expected_status: :unauthorized5347 responds with unauthorized5348 project_visibility: "PUBLIC", user_role: :developer, member?: false, authenticate_with: :job_token, expected_status: :forbidden5349 responds with forbidden5350 project_visibility: "PUBLIC", user_role: :developer, member?: false, authenticate_with: :invalid_job_token, expected_status: :unauthorized5351 responds with unauthorized5352 project_visibility: "PRIVATE", user_role: :developer, member?: true, authenticate_with: :invalid_job_token, expected_status: :unauthorized5353 responds with unauthorized5354 project_visibility: "PRIVATE", user_role: :developer, member?: false, authenticate_with: :job_token, expected_status: :not_found5355 responds with not_found5356 project_visibility: "PRIVATE", user_role: :developer, member?: false, authenticate_with: :invalid_job_token, expected_status: :unauthorized5357 responds with unauthorized5358 authenticate_with: :deploy_token_ro, expected_status: :forbidden5359 responds with forbidden5360 authenticate_with: :invalid_deploy_token, expected_status: :unauthorized5361 responds with unauthorized5362 when user can upload packages and has valid credentials5363 rejects request without a file from workhorse5364 rejects request without an auth token5365 rejects request without workhorse rewritten fields5366 rejects request if file size is too large5367 rejects request without workhorse header5368 when valid personal access token is used5369 behaves like creates a package and package file5370 creates a package and package file5371 with select5372 with a valid value5373 package_file5374 returns a package file5375 with an invalid value5376 returns a package file5377 with a status5378 valid status5379 assigns the status to the package5380 invalid status5381 rejects the package5382 different versions5383 version: "1.3.350-20201230123456", expected_status: :created5384 returns the created5385 version: "1.2.3", expected_status: :created5386 returns the created5387 version: "1.2.3g", expected_status: :created5388 returns the created5389 version: "1.2", expected_status: :created5390 returns the created5391 version: "1.2.bananas", expected_status: :created5392 returns the created5393 version: "v1.2.4-build", expected_status: :created5394 returns the created5395 version: "d50d836eb3de6177ce6c7a5482f27f9c2c84b672", expected_status: :created5396 returns the created5397 version: "..1.2.3", expected_status: :bad_request5398 returns the bad_request5399 version: "1.2.3-4/../../", expected_status: :bad_request5400 returns the bad_request5401 version: "%2e%2e%2f1.2.3", expected_status: :bad_request5402 returns the bad_request5403 when valid basic auth is used5404 behaves like creates a package and package file5405 creates a package and package file5406 with select5407 with a valid value5408 package_file5409 returns a package file5410 with an invalid value5411 returns a package file5412 with a status5413 valid status5414 assigns the status to the package5415 invalid status5416 rejects the package5417 different versions5418 version: "1.3.350-20201230123456", expected_status: :created5419 returns the created5420 version: "1.2.3", expected_status: :created5421 returns the created5422 version: "1.2.3g", expected_status: :created5423 returns the created5424 version: "1.2", expected_status: :created5425 returns the created5426 version: "1.2.bananas", expected_status: :created5427 returns the created5428 version: "v1.2.4-build", expected_status: :created5429 returns the created5430 version: "d50d836eb3de6177ce6c7a5482f27f9c2c84b672", expected_status: :created5431 returns the created5432 version: "..1.2.3", expected_status: :bad_request5433 returns the bad_request5434 version: "1.2.3-4/../../", expected_status: :bad_request5435 returns the bad_request5436 version: "%2e%2e%2f1.2.3", expected_status: :bad_request5437 returns the bad_request5438 when valid deploy token is used5439 behaves like creates a package and package file5440 creates a package and package file5441 with select5442 with a valid value5443 package_file5444 returns a package file5445 with an invalid value5446 returns a package file5447 with a status5448 valid status5449 assigns the status to the package5450 invalid status5451 rejects the package5452 different versions5453 version: "1.3.350-20201230123456", expected_status: :created5454 returns the created5455 version: "1.2.3", expected_status: :created5456 returns the created5457 version: "1.2.3g", expected_status: :created5458 returns the created5459 version: "1.2", expected_status: :created5460 returns the created5461 version: "1.2.bananas", expected_status: :created5462 returns the created5463 version: "v1.2.4-build", expected_status: :created5464 returns the created5465 version: "d50d836eb3de6177ce6c7a5482f27f9c2c84b672", expected_status: :created5466 returns the created5467 version: "..1.2.3", expected_status: :bad_request5468 returns the bad_request5469 version: "1.2.3-4/../../", expected_status: :bad_request5470 returns the bad_request5471 version: "%2e%2e%2f1.2.3", expected_status: :bad_request5472 returns the bad_request5473 when valid job token is used5474 behaves like creates a package and package file5475 creates a package and package file5476 with select5477 with a valid value5478 package_file5479 returns a package file5480 with an invalid value5481 returns a package file5482 with a status5483 valid status5484 assigns the status to the package5485 invalid status5486 rejects the package5487 different versions5488 version: "1.3.350-20201230123456", expected_status: :created5489 returns the created5490 version: "1.2.3", expected_status: :created5491 returns the created5492 version: "1.2.3g", expected_status: :created5493 returns the created5494 version: "1.2", expected_status: :created5495 returns the created5496 version: "1.2.bananas", expected_status: :created5497 returns the created5498 version: "v1.2.4-build", expected_status: :created5499 returns the created5500 version: "d50d836eb3de6177ce6c7a5482f27f9c2c84b672", expected_status: :created5501 returns the created5502 version: "..1.2.3", expected_status: :bad_request5503 returns the bad_request5504 version: "1.2.3-4/../../", expected_status: :bad_request5505 returns the bad_request5506 version: "%2e%2e%2f1.2.3", expected_status: :bad_request5507 returns the bad_request5508 event tracking5509 behaves like a package tracking event5510 creates a gitlab tracking event push_package5511 with existing package5512 does not create a new package5513 marked as pending_destruction5514 does create a new package5515 application security5516 param_name: :package_name, param_value: "my-package/../"5517 behaves like secure endpoint5518 rejects malicious request5519 param_name: :package_name, param_value: "my-package%2f%2e%2e%2f"5520 behaves like secure endpoint5521 rejects malicious request5522 param_name: :file_name, param_value: "../.ssh%2fauthorized_keys"5523 behaves like secure endpoint5524 rejects malicious request5525 param_name: :file_name, param_value: "%2e%2e%2f.ssh%2fauthorized_keys"5526 behaves like secure endpoint5527 rejects malicious request5528 GET /api/v4/projects/:id/packages/generic/:package_name/:package_version/:file_name5529 rejects a malicious file name request5530 rejects a malicious file name request5531 rejects a malicious package name request5532 rejects a malicious package name request5533 responds with 404 Not Found for non existing package5534 responds with 404 Not Found for non existing package file5535 authentication5536 project_visibility: "PUBLIC", user_role: :developer, member?: true, authenticate_with: :personal_access_token, expected_status: :success5537 responds with success5538 behaves like bumping the package last downloaded at field5539 bumps last_downloaded_at5540 project_visibility: "PUBLIC", user_role: :guest, member?: true, authenticate_with: :personal_access_token, expected_status: :success5541 responds with success5542 behaves like bumping the package last downloaded at field5543 bumps last_downloaded_at5544 project_visibility: "PUBLIC", user_role: :developer, member?: true, authenticate_with: :user_basic_auth, expected_status: :success5545 responds with success5546 behaves like bumping the package last downloaded at field5547 bumps last_downloaded_at5548 project_visibility: "PUBLIC", user_role: :guest, member?: true, authenticate_with: :user_basic_auth, expected_status: :success5549 responds with success5550 behaves like bumping the package last downloaded at field5551 bumps last_downloaded_at5552 project_visibility: "PUBLIC", user_role: :developer, member?: true, authenticate_with: :invalid_personal_access_token, expected_status: :unauthorized5553 responds with unauthorized5554 project_visibility: "PUBLIC", user_role: :guest, member?: true, authenticate_with: :invalid_personal_access_token, expected_status: :unauthorized5555 responds with unauthorized5556 project_visibility: "PUBLIC", user_role: :developer, member?: true, authenticate_with: :invalid_user_basic_auth, expected_status: :success5557 responds with success5558 behaves like bumping the package last downloaded at field5559 bumps last_downloaded_at5560 project_visibility: "PUBLIC", user_role: :guest, member?: true, authenticate_with: :invalid_user_basic_auth, expected_status: :success5561 responds with success5562 behaves like bumping the package last downloaded at field5563 bumps last_downloaded_at5564 project_visibility: "PUBLIC", user_role: :developer, member?: false, authenticate_with: :personal_access_token, expected_status: :success5565 responds with success5566 behaves like bumping the package last downloaded at field5567 bumps last_downloaded_at5568 project_visibility: "PUBLIC", user_role: :guest, member?: false, authenticate_with: :personal_access_token, expected_status: :success5569 responds with success5570 behaves like bumping the package last downloaded at field5571 bumps last_downloaded_at5572 project_visibility: "PUBLIC", user_role: :developer, member?: false, authenticate_with: :user_basic_auth, expected_status: :success5573 responds with success5574 behaves like bumping the package last downloaded at field5575 bumps last_downloaded_at5576 project_visibility: "PUBLIC", user_role: :guest, member?: false, authenticate_with: :user_basic_auth, expected_status: :success5577 responds with success5578 behaves like bumping the package last downloaded at field5579 bumps last_downloaded_at5580 project_visibility: "PUBLIC", user_role: :developer, member?: false, authenticate_with: :invalid_personal_access_token, expected_status: :unauthorized5581 responds with unauthorized5582 project_visibility: "PUBLIC", user_role: :guest, member?: false, authenticate_with: :invalid_personal_access_token, expected_status: :unauthorized5583 responds with unauthorized5584 project_visibility: "PUBLIC", user_role: :developer, member?: false, authenticate_with: :invalid_user_basic_auth, expected_status: :success5585 responds with success5586 behaves like bumping the package last downloaded at field5587 bumps last_downloaded_at5588 project_visibility: "PUBLIC", user_role: :guest, member?: false, authenticate_with: :invalid_user_basic_auth, expected_status: :success5589 responds with success5590 behaves like bumping the package last downloaded at field5591 bumps last_downloaded_at5592 project_visibility: "PUBLIC", user_role: :anonymous, member?: false, authenticate_with: :none, expected_status: :success5593 responds with success5594 behaves like bumping the package last downloaded at field5595 bumps last_downloaded_at5596 project_visibility: "PRIVATE", user_role: :developer, member?: true, authenticate_with: :personal_access_token, expected_status: :success5597 responds with success5598 behaves like bumping the package last downloaded at field5599 bumps last_downloaded_at5600 project_visibility: "PRIVATE", user_role: :guest, member?: true, authenticate_with: :personal_access_token, expected_status: :forbidden5601 responds with forbidden5602 project_visibility: "PRIVATE", user_role: :developer, member?: true, authenticate_with: :user_basic_auth, expected_status: :success5603 responds with success5604 behaves like bumping the package last downloaded at field5605 bumps last_downloaded_at5606 project_visibility: "PRIVATE", user_role: :guest, member?: true, authenticate_with: :user_basic_auth, expected_status: :forbidden5607 responds with forbidden5608 project_visibility: "PRIVATE", user_role: :developer, member?: true, authenticate_with: :invalid_personal_access_token, expected_status: :unauthorized5609 responds with unauthorized5610 project_visibility: "PRIVATE", user_role: :guest, member?: true, authenticate_with: :invalid_personal_access_token, expected_status: :unauthorized5611 responds with unauthorized5612 project_visibility: "PRIVATE", user_role: :developer, member?: true, authenticate_with: :invalid_user_basic_auth, expected_status: :unauthorized5613 responds with unauthorized5614 project_visibility: "PRIVATE", user_role: :guest, member?: true, authenticate_with: :invalid_user_basic_auth, expected_status: :unauthorized5615 responds with unauthorized5616 project_visibility: "PRIVATE", user_role: :developer, member?: false, authenticate_with: :personal_access_token, expected_status: :not_found5617 responds with not_found5618 project_visibility: "PRIVATE", user_role: :guest, member?: false, authenticate_with: :personal_access_token, expected_status: :not_found5619 responds with not_found5620 project_visibility: "PRIVATE", user_role: :developer, member?: false, authenticate_with: :user_basic_auth, expected_status: :not_found5621 responds with not_found5622 project_visibility: "PRIVATE", user_role: :guest, member?: false, authenticate_with: :user_basic_auth, expected_status: :not_found5623 responds with not_found5624 project_visibility: "PRIVATE", user_role: :developer, member?: false, authenticate_with: :invalid_personal_access_token, expected_status: :unauthorized5625 responds with unauthorized5626 project_visibility: "PRIVATE", user_role: :guest, member?: false, authenticate_with: :invalid_personal_access_token, expected_status: :unauthorized5627 responds with unauthorized5628 project_visibility: "PRIVATE", user_role: :developer, member?: false, authenticate_with: :invalid_user_basic_auth, expected_status: :unauthorized5629 responds with unauthorized5630 project_visibility: "PRIVATE", user_role: :guest, member?: false, authenticate_with: :invalid_user_basic_auth, expected_status: :unauthorized5631 responds with unauthorized5632 project_visibility: "PRIVATE", user_role: :anonymous, member?: false, authenticate_with: :none, expected_status: :unauthorized5633 responds with unauthorized5634 project_visibility: "PUBLIC", user_role: :developer, member?: true, authenticate_with: :job_token, expected_status: :success5635 responds with success5636 behaves like bumping the package last downloaded at field5637 bumps last_downloaded_at5638 project_visibility: "PUBLIC", user_role: :developer, member?: true, authenticate_with: :invalid_job_token, expected_status: :unauthorized5639 responds with unauthorized5640 project_visibility: "PUBLIC", user_role: :developer, member?: false, authenticate_with: :job_token, expected_status: :success5641 responds with success5642 behaves like bumping the package last downloaded at field5643 bumps last_downloaded_at5644 project_visibility: "PUBLIC", user_role: :developer, member?: false, authenticate_with: :invalid_job_token, expected_status: :unauthorized5645 responds with unauthorized5646 project_visibility: "PRIVATE", user_role: :developer, member?: true, authenticate_with: :job_token, expected_status: :success5647 responds with success5648 behaves like bumping the package last downloaded at field5649 bumps last_downloaded_at5650 project_visibility: "PRIVATE", user_role: :developer, member?: true, authenticate_with: :invalid_job_token, expected_status: :unauthorized5651 responds with unauthorized5652 project_visibility: "PRIVATE", user_role: :developer, member?: false, authenticate_with: :job_token, expected_status: :not_found5653 responds with not_found5654 project_visibility: "PRIVATE", user_role: :developer, member?: false, authenticate_with: :invalid_job_token, expected_status: :unauthorized5655 responds with unauthorized5656 authenticate_with: :deploy_token_rw, expected_status: :success5657 responds with success5658 behaves like bumping the package last downloaded at field5659 bumps last_downloaded_at5660 authenticate_with: :deploy_token_wo, expected_status: :success5661 responds with success5662 behaves like bumping the package last downloaded at field5663 bumps last_downloaded_at5664 authenticate_with: :deploy_token_ro, expected_status: :success5665 responds with success5666 behaves like bumping the package last downloaded at field5667 bumps last_downloaded_at5668 authenticate_with: :invalid_deploy_token, expected_status: :unauthorized5669 responds with unauthorized5670 with access to package registry for everyone5671 responds with success5672 with package status5673 package_status: :default, expected_status: :success5674 responds with success5675 behaves like bumping the package last downloaded at field5676 bumps last_downloaded_at5677 package_status: :hidden, expected_status: :success5678 responds with success5679 behaves like bumping the package last downloaded at field5680 bumps last_downloaded_at5681 package_status: :error, expected_status: :not_found5682 responds with not_found5683 event tracking5684 behaves like a package tracking event5685 creates a gitlab tracking event pull_package5686 application security5687 param_name: :package_name, param_value: "my-package/../"5688 behaves like secure endpoint5689 rejects malicious request5690 param_name: :package_name, param_value: "my-package%2f%2e%2e%2f"5691 behaves like secure endpoint5692 rejects malicious request5693 param_name: :file_name, param_value: "../.ssh%2fauthorized_keys"5694 behaves like secure endpoint5695 rejects malicious request5696 param_name: :file_name, param_value: "%2e%2e%2f.ssh%2fauthorized_keys"5697 behaves like secure endpoint5698 rejects malicious request5699API::MlModelPackages5700 # order random5701 PUT /api/v4/projects/:id/packages/ml_models/:model_name/:model_version/:file_name/authorize5702 user access5703 visibility: :public, user_role: :developer, member: true, token_type: :personal_access_token, valid_token: true, expected_status: :success5704 is expected to respond with numeric status code success5705 visibility: :public, user_role: :guest, member: true, token_type: :personal_access_token, valid_token: true, expected_status: :forbidden5706 is expected to respond with numeric status code forbidden5707 visibility: :public, user_role: :developer, member: true, token_type: :personal_access_token, valid_token: false, expected_status: :unauthorized5708 is expected to respond with numeric status code unauthorized5709 visibility: :public, user_role: :guest, member: true, token_type: :personal_access_token, valid_token: false, expected_status: :unauthorized5710 is expected to respond with numeric status code unauthorized5711 visibility: :public, user_role: :developer, member: false, token_type: :personal_access_token, valid_token: true, expected_status: :forbidden5712 is expected to respond with numeric status code forbidden5713 visibility: :public, user_role: :guest, member: false, token_type: :personal_access_token, valid_token: true, expected_status: :forbidden5714 is expected to respond with numeric status code forbidden5715 visibility: :public, user_role: :developer, member: false, token_type: :personal_access_token, valid_token: false, expected_status: :unauthorized5716 is expected to respond with numeric status code unauthorized5717 visibility: :public, user_role: :guest, member: false, token_type: :personal_access_token, valid_token: false, expected_status: :unauthorized5718 is expected to respond with numeric status code unauthorized5719 visibility: :public, user_role: :anonymous, member: false, token_type: :personal_access_token, valid_token: true, expected_status: :unauthorized5720 is expected to respond with numeric status code unauthorized5721 visibility: :private, user_role: :developer, member: true, token_type: :personal_access_token, valid_token: true, expected_status: :success5722 is expected to respond with numeric status code success5723 visibility: :private, user_role: :guest, member: true, token_type: :personal_access_token, valid_token: true, expected_status: :forbidden5724 is expected to respond with numeric status code forbidden5725 visibility: :private, user_role: :developer, member: true, token_type: :personal_access_token, valid_token: false, expected_status: :unauthorized5726 is expected to respond with numeric status code unauthorized5727 visibility: :private, user_role: :guest, member: true, token_type: :personal_access_token, valid_token: false, expected_status: :unauthorized5728 is expected to respond with numeric status code unauthorized5729 visibility: :private, user_role: :developer, member: false, token_type: :personal_access_token, valid_token: true, expected_status: :not_found5730 is expected to respond with numeric status code not_found5731 visibility: :private, user_role: :guest, member: false, token_type: :personal_access_token, valid_token: true, expected_status: :not_found5732 is expected to respond with numeric status code not_found5733 visibility: :private, user_role: :developer, member: false, token_type: :personal_access_token, valid_token: false, expected_status: :unauthorized5734 is expected to respond with numeric status code unauthorized5735 visibility: :private, user_role: :guest, member: false, token_type: :personal_access_token, valid_token: false, expected_status: :unauthorized5736 is expected to respond with numeric status code unauthorized5737 visibility: :private, user_role: :anonymous, member: false, token_type: :personal_access_token, valid_token: true, expected_status: :unauthorized5738 is expected to respond with numeric status code unauthorized5739 visibility: :public, user_role: :developer, member: true, token_type: :job_token, valid_token: true, expected_status: :success5740 is expected to respond with numeric status code success5741 visibility: :public, user_role: :guest, member: true, token_type: :job_token, valid_token: true, expected_status: :forbidden5742 is expected to respond with numeric status code forbidden5743 visibility: :public, user_role: :developer, member: true, token_type: :job_token, valid_token: false, expected_status: :unauthorized5744 is expected to respond with numeric status code unauthorized5745 visibility: :public, user_role: :guest, member: true, token_type: :job_token, valid_token: false, expected_status: :unauthorized5746 is expected to respond with numeric status code unauthorized5747 visibility: :public, user_role: :developer, member: false, token_type: :job_token, valid_token: true, expected_status: :forbidden5748 is expected to respond with numeric status code forbidden5749 visibility: :public, user_role: :guest, member: false, token_type: :job_token, valid_token: true, expected_status: :forbidden5750 is expected to respond with numeric status code forbidden5751 visibility: :public, user_role: :developer, member: false, token_type: :job_token, valid_token: false, expected_status: :unauthorized5752 is expected to respond with numeric status code unauthorized5753 visibility: :public, user_role: :guest, member: false, token_type: :job_token, valid_token: false, expected_status: :unauthorized5754 is expected to respond with numeric status code unauthorized5755 visibility: :private, user_role: :developer, member: true, token_type: :job_token, valid_token: true, expected_status: :success5756 is expected to respond with numeric status code success5757 visibility: :private, user_role: :guest, member: true, token_type: :job_token, valid_token: true, expected_status: :forbidden5758 is expected to respond with numeric status code forbidden5759 visibility: :private, user_role: :developer, member: true, token_type: :job_token, valid_token: false, expected_status: :unauthorized5760 is expected to respond with numeric status code unauthorized5761 visibility: :private, user_role: :guest, member: true, token_type: :job_token, valid_token: false, expected_status: :unauthorized5762 is expected to respond with numeric status code unauthorized5763 visibility: :private, user_role: :developer, member: false, token_type: :job_token, valid_token: true, expected_status: :not_found5764 is expected to respond with numeric status code not_found5765 visibility: :private, user_role: :guest, member: false, token_type: :job_token, valid_token: true, expected_status: :not_found5766 is expected to respond with numeric status code not_found5767 visibility: :private, user_role: :developer, member: false, token_type: :job_token, valid_token: false, expected_status: :unauthorized5768 is expected to respond with numeric status code unauthorized5769 visibility: :private, user_role: :guest, member: false, token_type: :job_token, valid_token: false, expected_status: :unauthorized5770 is expected to respond with numeric status code unauthorized5771 visibility: :public, user_role: :developer, member: true, token_type: :deploy_token, valid_token: true, expected_status: :success5772 is expected to respond with numeric status code success5773 visibility: :public, user_role: :developer, member: true, token_type: :deploy_token, valid_token: false, expected_status: :unauthorized5774 is expected to respond with numeric status code unauthorized5775 visibility: :private, user_role: :developer, member: true, token_type: :deploy_token, valid_token: true, expected_status: :success5776 is expected to respond with numeric status code success5777 visibility: :private, user_role: :developer, member: true, token_type: :deploy_token, valid_token: false, expected_status: :unauthorized5778 is expected to respond with numeric status code unauthorized5779 behaves like Endpoint not found if read_model_registry not available5780 when read_model_registry disabled for current project5781 is not found5782 application security5783 model_name: "my-package/../", file_name: "myfile.tar.gz"5784 rejects malicious request5785 model_name: "my-package%2f%2e%2e%2f", file_name: "myfile.tar.gz"5786 rejects malicious request5787 model_name: "my_package", file_name: "../.ssh%2fauthorized_keys"5788 rejects malicious request5789 model_name: "my_package", file_name: "%2e%2e%2f.ssh%2fauthorized_keys"5790 rejects malicious request5791 GET /api/v4/projects/:project_id/packages/ml_models/:model_name/:model_version/:file_name5792 user access5793 visibility: :public, user_role: :developer, member: true, token_type: :personal_access_token, valid_token: true, expected_status: :success5794 behaves like process ml model package download5795 when package file exists5796 is expected to respond with numeric status code success5797 when record does not exist5798 response is not found5799 visibility: :public, user_role: :guest, member: true, token_type: :personal_access_token, valid_token: true, expected_status: :success5800 behaves like process ml model package download5801 when package file exists5802 is expected to respond with numeric status code success5803 when record does not exist5804 response is not found5805 visibility: :public, user_role: :developer, member: true, token_type: :personal_access_token, valid_token: false, expected_status: :unauthorized5806 is expected to respond with numeric status code unauthorized5807 visibility: :public, user_role: :guest, member: true, token_type: :personal_access_token, valid_token: false, expected_status: :unauthorized5808 is expected to respond with numeric status code unauthorized5809 visibility: :public, user_role: :developer, member: false, token_type: :personal_access_token, valid_token: true, expected_status: :success5810 behaves like process ml model package download5811 when package file exists5812 is expected to respond with numeric status code success5813 when record does not exist5814 response is not found5815 visibility: :public, user_role: :guest, member: false, token_type: :personal_access_token, valid_token: true, expected_status: :success5816 behaves like process ml model package download5817 when package file exists5818 is expected to respond with numeric status code success5819 when record does not exist5820 response is not found5821 visibility: :public, user_role: :developer, member: false, token_type: :personal_access_token, valid_token: false, expected_status: :unauthorized5822 is expected to respond with numeric status code unauthorized5823 visibility: :public, user_role: :guest, member: false, token_type: :personal_access_token, valid_token: false, expected_status: :unauthorized5824 is expected to respond with numeric status code unauthorized5825 visibility: :public, user_role: :anonymous, member: false, token_type: :personal_access_token, valid_token: true, expected_status: :success5826 behaves like process ml model package download5827 when package file exists5828 is expected to respond with numeric status code success5829 when record does not exist5830 response is not found5831 visibility: :private, user_role: :developer, member: true, token_type: :personal_access_token, valid_token: true, expected_status: :success5832 behaves like process ml model package download5833 when package file exists5834 is expected to respond with numeric status code success5835 when record does not exist5836 response is not found5837 visibility: :private, user_role: :guest, member: true, token_type: :personal_access_token, valid_token: true, expected_status: :forbidden5838 is expected to respond with numeric status code forbidden5839 visibility: :private, user_role: :developer, member: true, token_type: :personal_access_token, valid_token: false, expected_status: :unauthorized5840 is expected to respond with numeric status code unauthorized5841 visibility: :private, user_role: :guest, member: true, token_type: :personal_access_token, valid_token: false, expected_status: :unauthorized5842 is expected to respond with numeric status code unauthorized5843 visibility: :private, user_role: :developer, member: false, token_type: :personal_access_token, valid_token: true, expected_status: :not_found5844 is expected to respond with numeric status code not_found5845 visibility: :private, user_role: :guest, member: false, token_type: :personal_access_token, valid_token: true, expected_status: :not_found5846 is expected to respond with numeric status code not_found5847 visibility: :private, user_role: :developer, member: false, token_type: :personal_access_token, valid_token: false, expected_status: :unauthorized5848 is expected to respond with numeric status code unauthorized5849 visibility: :private, user_role: :guest, member: false, token_type: :personal_access_token, valid_token: false, expected_status: :unauthorized5850 is expected to respond with numeric status code unauthorized5851 visibility: :private, user_role: :anonymous, member: false, token_type: :personal_access_token, valid_token: true, expected_status: :not_found5852 is expected to respond with numeric status code not_found5853 visibility: :public, user_role: :developer, member: true, token_type: :job_token, valid_token: true, expected_status: :success5854 behaves like process ml model package download5855 when package file exists5856 is expected to respond with numeric status code success5857 when record does not exist5858 response is not found5859 visibility: :public, user_role: :guest, member: true, token_type: :job_token, valid_token: true, expected_status: :success5860 behaves like process ml model package download5861 when package file exists5862 is expected to respond with numeric status code success5863 when record does not exist5864 response is not found5865 visibility: :public, user_role: :developer, member: true, token_type: :job_token, valid_token: false, expected_status: :unauthorized5866 is expected to respond with numeric status code unauthorized5867 visibility: :public, user_role: :guest, member: true, token_type: :job_token, valid_token: false, expected_status: :unauthorized5868 is expected to respond with numeric status code unauthorized5869 visibility: :public, user_role: :developer, member: false, token_type: :job_token, valid_token: true, expected_status: :success5870 behaves like process ml model package download5871 when package file exists5872 is expected to respond with numeric status code success5873 when record does not exist5874 response is not found5875 visibility: :public, user_role: :guest, member: false, token_type: :job_token, valid_token: true, expected_status: :success5876 behaves like process ml model package download5877 when package file exists5878 is expected to respond with numeric status code success5879 when record does not exist5880 response is not found5881 visibility: :public, user_role: :developer, member: false, token_type: :job_token, valid_token: false, expected_status: :unauthorized5882 is expected to respond with numeric status code unauthorized5883 visibility: :public, user_role: :guest, member: false, token_type: :job_token, valid_token: false, expected_status: :unauthorized5884 is expected to respond with numeric status code unauthorized5885 visibility: :private, user_role: :developer, member: true, token_type: :job_token, valid_token: true, expected_status: :success5886 behaves like process ml model package download5887 when package file exists5888 is expected to respond with numeric status code success5889 when record does not exist5890 response is not found5891 visibility: :private, user_role: :guest, member: true, token_type: :job_token, valid_token: true, expected_status: :forbidden5892 is expected to respond with numeric status code forbidden5893 visibility: :private, user_role: :developer, member: true, token_type: :job_token, valid_token: false, expected_status: :unauthorized5894 is expected to respond with numeric status code unauthorized5895 visibility: :private, user_role: :guest, member: true, token_type: :job_token, valid_token: false, expected_status: :unauthorized5896 is expected to respond with numeric status code unauthorized5897 visibility: :private, user_role: :developer, member: false, token_type: :job_token, valid_token: true, expected_status: :not_found5898 is expected to respond with numeric status code not_found5899 visibility: :private, user_role: :guest, member: false, token_type: :job_token, valid_token: true, expected_status: :not_found5900 is expected to respond with numeric status code not_found5901 visibility: :private, user_role: :developer, member: false, token_type: :job_token, valid_token: false, expected_status: :unauthorized5902 is expected to respond with numeric status code unauthorized5903 visibility: :private, user_role: :guest, member: false, token_type: :job_token, valid_token: false, expected_status: :unauthorized5904 is expected to respond with numeric status code unauthorized5905 visibility: :public, user_role: :developer, member: true, token_type: :deploy_token, valid_token: true, expected_status: :success5906 behaves like process ml model package download5907 when package file exists5908 is expected to respond with numeric status code success5909 when record does not exist5910 response is not found5911 visibility: :public, user_role: :developer, member: true, token_type: :deploy_token, valid_token: false, expected_status: :unauthorized5912 is expected to respond with numeric status code unauthorized5913 visibility: :private, user_role: :developer, member: true, token_type: :deploy_token, valid_token: true, expected_status: :success5914 behaves like process ml model package download5915 when package file exists5916 is expected to respond with numeric status code success5917 when record does not exist5918 response is not found5919 visibility: :private, user_role: :developer, member: true, token_type: :deploy_token, valid_token: false, expected_status: :unauthorized5920 is expected to respond with numeric status code unauthorized5921 behaves like Endpoint not found if read_model_registry not available5922 when read_model_registry disabled for current project5923 is not found5924 PUT /api/v4/projects/:id/packages/ml_models/:model_name/:model_version/:file_name5925 success5926 creates a new package5927 user access5928 visibility: :public, user_role: :developer, member: true, token_type: :personal_access_token, valid_token: true, expected_status: :success5929 behaves like process ml model package upload5930 with object storage disabled5931 without a file from workhorse5932 behaves like returning response status5933 returns bad_request5934 with correct params5935 behaves like package workhorse uploads5936 without a workhorse header5937 logs an error5938 behaves like returning response status5939 returns forbidden5940 behaves like creates model experiments package files5941 creates package files5942 returns bad request if package creation fails5943 when file is too large5944 is bad request5945 with object storage enabled5946 and direct upload enabled5947 behaves like creates model experiments package files5948 creates package files5949 returns bad request if package creation fails5950 when file is too large5951 is bad request5952 with invalid remote_id: 1231235953 is expected to respond with numeric status code forbidden5954 with invalid remote_id: ../../1231235955 is expected to respond with numeric status code forbidden5956 and direct upload disabled5957 behaves like creates model experiments package files5958 creates package files5959 returns bad request if package creation fails5960 when file is too large5961 is bad request5962 visibility: :public, user_role: :guest, member: true, token_type: :personal_access_token, valid_token: true, expected_status: :forbidden5963 is expected to respond with numeric status code forbidden5964 visibility: :public, user_role: :developer, member: true, token_type: :personal_access_token, valid_token: false, expected_status: :unauthorized5965 is expected to respond with numeric status code unauthorized5966 visibility: :public, user_role: :guest, member: true, token_type: :personal_access_token, valid_token: false, expected_status: :unauthorized5967 is expected to respond with numeric status code unauthorized5968 visibility: :public, user_role: :developer, member: false, token_type: :personal_access_token, valid_token: true, expected_status: :forbidden5969 is expected to respond with numeric status code forbidden5970 visibility: :public, user_role: :guest, member: false, token_type: :personal_access_token, valid_token: true, expected_status: :forbidden5971 is expected to respond with numeric status code forbidden5972 visibility: :public, user_role: :developer, member: false, token_type: :personal_access_token, valid_token: false, expected_status: :unauthorized5973 is expected to respond with numeric status code unauthorized5974 visibility: :public, user_role: :guest, member: false, token_type: :personal_access_token, valid_token: false, expected_status: :unauthorized5975 is expected to respond with numeric status code unauthorized5976 visibility: :public, user_role: :anonymous, member: false, token_type: :personal_access_token, valid_token: true, expected_status: :unauthorized5977 is expected to respond with numeric status code unauthorized5978 visibility: :private, user_role: :developer, member: true, token_type: :personal_access_token, valid_token: true, expected_status: :success5979 behaves like process ml model package upload5980 with object storage disabled5981 without a file from workhorse5982 behaves like returning response status5983 returns bad_request5984 with correct params5985 behaves like package workhorse uploads5986 without a workhorse header5987 logs an error5988 behaves like returning response status5989 returns forbidden5990 behaves like creates model experiments package files5991 creates package files5992 returns bad request if package creation fails5993 when file is too large5994 is bad request5995 with object storage enabled5996 and direct upload enabled5997 behaves like creates model experiments package files5998 creates package files5999 returns bad request if package creation fails6000 when file is too large6001 is bad request6002 with invalid remote_id: 1231236003 is expected to respond with numeric status code forbidden6004 with invalid remote_id: ../../1231236005 is expected to respond with numeric status code forbidden6006 and direct upload disabled6007 behaves like creates model experiments package files6008 creates package files6009 returns bad request if package creation fails6010 when file is too large6011 is bad request6012 visibility: :private, user_role: :guest, member: true, token_type: :personal_access_token, valid_token: true, expected_status: :forbidden6013 is expected to respond with numeric status code forbidden6014 visibility: :private, user_role: :developer, member: true, token_type: :personal_access_token, valid_token: false, expected_status: :unauthorized6015 is expected to respond with numeric status code unauthorized6016 visibility: :private, user_role: :guest, member: true, token_type: :personal_access_token, valid_token: false, expected_status: :unauthorized6017 is expected to respond with numeric status code unauthorized6018 visibility: :private, user_role: :developer, member: false, token_type: :personal_access_token, valid_token: true, expected_status: :not_found6019 is expected to respond with numeric status code not_found6020 visibility: :private, user_role: :guest, member: false, token_type: :personal_access_token, valid_token: true, expected_status: :not_found6021 is expected to respond with numeric status code not_found6022 visibility: :private, user_role: :developer, member: false, token_type: :personal_access_token, valid_token: false, expected_status: :unauthorized6023 is expected to respond with numeric status code unauthorized6024 visibility: :private, user_role: :guest, member: false, token_type: :personal_access_token, valid_token: false, expected_status: :unauthorized6025 is expected to respond with numeric status code unauthorized6026 visibility: :private, user_role: :anonymous, member: false, token_type: :personal_access_token, valid_token: true, expected_status: :unauthorized6027 is expected to respond with numeric status code unauthorized6028 visibility: :public, user_role: :developer, member: true, token_type: :job_token, valid_token: true, expected_status: :success6029 behaves like process ml model package upload6030 with object storage disabled6031 without a file from workhorse6032 behaves like returning response status6033 returns bad_request6034 with correct params6035 behaves like package workhorse uploads6036 without a workhorse header6037 logs an error6038 behaves like returning response status6039 returns forbidden6040 behaves like creates model experiments package files6041 creates package files6042 returns bad request if package creation fails6043 when file is too large6044 is bad request6045 with object storage enabled6046 and direct upload enabled6047 behaves like creates model experiments package files6048 creates package files6049 returns bad request if package creation fails6050 when file is too large6051 is bad request6052 with invalid remote_id: 1231236053 is expected to respond with numeric status code forbidden6054 with invalid remote_id: ../../1231236055 is expected to respond with numeric status code forbidden6056 and direct upload disabled6057 behaves like creates model experiments package files6058 creates package files6059 returns bad request if package creation fails6060 when file is too large6061 is bad request6062 visibility: :public, user_role: :guest, member: true, token_type: :job_token, valid_token: true, expected_status: :forbidden6063 is expected to respond with numeric status code forbidden6064 visibility: :public, user_role: :developer, member: true, token_type: :job_token, valid_token: false, expected_status: :unauthorized6065 is expected to respond with numeric status code unauthorized6066 visibility: :public, user_role: :guest, member: true, token_type: :job_token, valid_token: false, expected_status: :unauthorized6067 is expected to respond with numeric status code unauthorized6068 visibility: :public, user_role: :developer, member: false, token_type: :job_token, valid_token: true, expected_status: :forbidden6069 is expected to respond with numeric status code forbidden6070 visibility: :public, user_role: :guest, member: false, token_type: :job_token, valid_token: true, expected_status: :forbidden6071 is expected to respond with numeric status code forbidden6072 visibility: :public, user_role: :developer, member: false, token_type: :job_token, valid_token: false, expected_status: :unauthorized6073 is expected to respond with numeric status code unauthorized6074 visibility: :public, user_role: :guest, member: false, token_type: :job_token, valid_token: false, expected_status: :unauthorized6075 is expected to respond with numeric status code unauthorized6076 visibility: :private, user_role: :developer, member: true, token_type: :job_token, valid_token: true, expected_status: :success6077 behaves like process ml model package upload6078 with object storage disabled6079 without a file from workhorse6080 behaves like returning response status6081 returns bad_request6082 with correct params6083 behaves like package workhorse uploads6084 without a workhorse header6085 logs an error6086 behaves like returning response status6087 returns forbidden6088 behaves like creates model experiments package files6089 creates package files6090 returns bad request if package creation fails6091 when file is too large6092 is bad request6093 with object storage enabled6094 and direct upload enabled6095 behaves like creates model experiments package files6096 creates package files6097 returns bad request if package creation fails6098 when file is too large6099 is bad request6100 with invalid remote_id: 1231236101 is expected to respond with numeric status code forbidden6102 with invalid remote_id: ../../1231236103 is expected to respond with numeric status code forbidden6104 and direct upload disabled6105 behaves like creates model experiments package files6106 creates package files6107 returns bad request if package creation fails6108 when file is too large6109 is bad request6110 visibility: :private, user_role: :guest, member: true, token_type: :job_token, valid_token: true, expected_status: :forbidden6111 is expected to respond with numeric status code forbidden6112 visibility: :private, user_role: :developer, member: true, token_type: :job_token, valid_token: false, expected_status: :unauthorized6113 is expected to respond with numeric status code unauthorized6114 visibility: :private, user_role: :guest, member: true, token_type: :job_token, valid_token: false, expected_status: :unauthorized6115 is expected to respond with numeric status code unauthorized6116 visibility: :private, user_role: :developer, member: false, token_type: :job_token, valid_token: true, expected_status: :not_found6117 is expected to respond with numeric status code not_found6118 visibility: :private, user_role: :guest, member: false, token_type: :job_token, valid_token: true, expected_status: :not_found6119 is expected to respond with numeric status code not_found6120 visibility: :private, user_role: :developer, member: false, token_type: :job_token, valid_token: false, expected_status: :unauthorized6121 is expected to respond with numeric status code unauthorized6122 visibility: :private, user_role: :guest, member: false, token_type: :job_token, valid_token: false, expected_status: :unauthorized6123 is expected to respond with numeric status code unauthorized6124 visibility: :public, user_role: :developer, member: true, token_type: :deploy_token, valid_token: true, expected_status: :success6125 behaves like process ml model package upload6126 with object storage disabled6127 without a file from workhorse6128 behaves like returning response status6129 returns bad_request6130 with correct params6131 behaves like package workhorse uploads6132 without a workhorse header6133 logs an error6134 behaves like returning response status6135 returns forbidden6136 behaves like creates model experiments package files6137 creates package files6138 returns bad request if package creation fails6139 when file is too large6140 is bad request6141 with object storage enabled6142 and direct upload enabled6143 behaves like creates model experiments package files6144 creates package files6145 returns bad request if package creation fails6146 when file is too large6147 is bad request6148 with invalid remote_id: 1231236149 is expected to respond with numeric status code forbidden6150 with invalid remote_id: ../../1231236151 is expected to respond with numeric status code forbidden6152 and direct upload disabled6153 behaves like creates model experiments package files6154 creates package files6155 returns bad request if package creation fails6156 when file is too large6157 is bad request6158 visibility: :public, user_role: :developer, member: true, token_type: :deploy_token, valid_token: false, expected_status: :unauthorized6159 is expected to respond with numeric status code unauthorized6160 visibility: :private, user_role: :developer, member: true, token_type: :deploy_token, valid_token: true, expected_status: :success6161 behaves like process ml model package upload6162 with object storage disabled6163 without a file from workhorse6164 behaves like returning response status6165 returns bad_request6166 with correct params6167 behaves like package workhorse uploads6168 without a workhorse header6169 logs an error6170 behaves like returning response status6171 returns forbidden6172 behaves like creates model experiments package files6173 creates package files6174 returns bad request if package creation fails6175 when file is too large6176 is bad request6177 with object storage enabled6178 and direct upload enabled6179 behaves like creates model experiments package files6180 creates package files6181 returns bad request if package creation fails6182 when file is too large6183 is bad request6184 with invalid remote_id: 1231236185 is expected to respond with numeric status code forbidden6186 with invalid remote_id: ../../1231236187 is expected to respond with numeric status code forbidden6188 and direct upload disabled6189 behaves like creates model experiments package files6190 creates package files6191 returns bad request if package creation fails6192 when file is too large6193 is bad request6194 visibility: :private, user_role: :developer, member: true, token_type: :deploy_token, valid_token: false, expected_status: :unauthorized6195 is expected to respond with numeric status code unauthorized6196 behaves like Endpoint not found if read_model_registry not available6197 when read_model_registry disabled for current project6198 is not found6199getting an issue list for a project6200 behaves like graphql issue list request spec6201 includes a web_url6202 includes discussion locked6203 behaves like a working graphql query6204 returns a successful response6205 filters6206 when filtering by assignees6207 when both assignee_username filters are provided6208 returns a mutually exclusive param error6209 when both assignee_username and assignee_wildcard_id filters are provided6210 returns a mutually exclusive param error6211 when filtering by assignee_wildcard_id6212 when filtering for all issues with assignees6213 returns all issues with assignees6214 when filtering for issues without assignees6215 returns all issues without assignees6216 when filtering by a negated argument6217 returns correctly filtered issues6218 when filtering by unioned arguments6219 when filtering by assignees6220 returns correctly filtered issues6221 when filtering by labels6222 returns correctly filtered issues6223 when argument is blank6224 does not raise an error6225 when feature flag is disabled6226 returns an error6227 when filtering by a blank negated argument6228 does not raise an error6229 when filtering by reaction emoji6230 value: "thumbsup", issue_list: lazy { voted_issues }6231 returns correctly filtered issues6232 value: "ANY", issue_list: lazy { voted_issues }6233 returns correctly filtered issues6234 value: "any", issue_list: lazy { voted_issues }6235 returns correctly filtered issues6236 value: "AnY", issue_list: lazy { voted_issues }6237 returns correctly filtered issues6238 value: "NONE", issue_list: lazy { no_award_issues }6239 returns correctly filtered issues6240 value: "thumbsdown", issue_list: lazy { [] }6241 returns correctly filtered issues6242 when filtering by search6243 behaves like query with a search term6244 returns only matching issuables6245 when filtering by confidentiality6246 when fetching confidential issues6247 returns only confidential issues6248 when user cannot see confidential issues6249 returns an empty list6250 when fetching non-confidential issues6251 returns only non-confidential issues6252 when user cannot see confidential issues6253 returns an empty list6254 sorting and pagination6255 when sorting by severity6256 when ascending6257 behaves like sorted paginated query6258 behaves like requires variables6259 shared example requires variables to be set6261 when sorting6262 sorts correctly6263 when paginating6264 paginates correctly6265 when descending6266 behaves like sorted paginated query6267 behaves like requires variables6268 shared example requires variables to be set6270 when sorting6271 sorts correctly6272 when paginating6273 paginates correctly6274 when sorting by priority6275 when ascending6276 behaves like sorted paginated query6277 behaves like requires variables6278 shared example requires variables to be set6280 when sorting6281 sorts correctly6282 when paginating6283 paginates correctly6284 when descending6285 behaves like sorted paginated query6286 behaves like requires variables6287 shared example requires variables to be set6289 when sorting6290 sorts correctly6291 when paginating6292 paginates correctly6293 when sorting by due date6294 when ascending6295 behaves like sorted paginated query6296 behaves like requires variables6297 shared example requires variables to be set6299 when sorting6300 sorts correctly6301 when paginating6302 paginates correctly6303 when descending6304 behaves like sorted paginated query6305 behaves like requires variables6306 shared example requires variables to be set6308 when sorting6309 sorts correctly6310 when paginating6311 paginates correctly6312 when sorting by relative position6313 when ascending6314 behaves like sorted paginated query6315 behaves like requires variables6316 shared example requires variables to be set6318 when sorting6319 sorts correctly6320 when paginating6321 paginates correctly6322 when last and sort params are present6323 fetches last elements without error6324 when sorting by label priority6325 when ascending6326 behaves like sorted paginated query6327 behaves like requires variables6328 shared example requires variables to be set6330 when sorting6331 sorts correctly6332 when paginating6333 paginates correctly6334 when descending6335 behaves like sorted paginated query6336 behaves like requires variables6337 shared example requires variables to be set6339 when sorting6340 sorts correctly6341 when paginating6342 paginates correctly6343 when sorting by milestone due date6344 when ascending6345 behaves like sorted paginated query6346 behaves like requires variables6347 shared example requires variables to be set6349 when sorting6350 sorts correctly6351 when paginating6352 paginates correctly6353 when descending6354 behaves like sorted paginated query6355 behaves like requires variables6356 shared example requires variables to be set6358 when sorting6359 sorts correctly6360 when paginating6361 paginates correctly6362 N+1 query checks6363 when requesting `user_notes_count` and `user_discussions_count`6364 prevents N+1 queries6365 when requesting `merge_requests_count`6366 prevents N+1 queries6367 when requesting `timelogs`6368 prevents N+1 queries6369 when requesting `closed_as_duplicate_of`6370 prevents N+1 queries6371 when award emoji votes6372 prevents N+1 queries6373 when requesting labels6374 prevents N+1 queries6375 when confidential issues exist6376 when user can see confidential issues6377 includes confidential issues6378 when user cannot see confidential issues6379 does not include confidential issues6380 when limiting the number of results6381 is expected to check permissions on the first issue only6382 behaves like a working graphql query6383 returns a successful response6384 only returns N issues6385 when no limit is provided6386 returns all issues6387 when the user does not have access to the issue6388 returns no issues6389 when fetching external participants6390 returns the email address6391 when user does not have access to view emails6392 obfuscates the email address6393 when fetching escalation status6394 returns the escalation status values6395 avoids N+1 queries6396 when fetching alert management alert6397 avoids N+1 queries6398 returns the alert data6399 returns the alerts data6400 when fetching customer_relations_contacts6401 avoids N+1 queries6402 when fetching labels6403 avoids N+1 queries6404 when fetching assignees6405 avoids N+1 queries6406 when selecting `related_merge_requests`6407 limits the field to 1 execution6408API::Ci::Jobs6409 GET /job6410 when token is valid but not CI_JOB_TOKEN6411 returns not found6412 with job token authentication header6413 returns specific job data6414 avoids N+1 queries6415 behaves like returns common job data6416 returns common job data6417 behaves like returns common pipeline data6418 returns common pipeline data6419 with job token authentication params6420 returns specific job data6421 behaves like returns common job data6422 returns common job data6423 behaves like returns common pipeline data6424 returns common pipeline data6425 with non running job6426 behaves like returns unauthorized6427 returns unauthorized6428 with basic auth header6429 does not return a job6430 without authentication6431 behaves like returns unauthorized6432 returns unauthorized6433 GET /job/allowed_agents6434 when token is valid and user is authorized6435 behaves like valid allowed_agents request6436 returns the job info6437 returns the agents allowed for the job6438 when deployment6439 includes environment slug6440 includes environment tier6441 behaves like valid allowed_agents request for a job with environment6442 return the agents configured for the given environment6443 when non-deployment environment action6444 includes environment slug6445 includes environment tier6446 behaves like valid allowed_agents request for a job with environment6447 return the agents configured for the given environment6448 when passing the token as params6449 behaves like valid allowed_agents request6450 returns the job info6451 returns the agents allowed for the job6452 when user is anonymous6453 returns unauthorized6454 when token is invalid because job has finished6455 returns unauthorized6456 when token is invalid6457 returns unauthorized6458 when token is valid but not CI_JOB_TOKEN6459 returns not found6460 GET /projects/:id/jobs6461 authorized user6462 returns project jobs6463 returns correct values6464 returns pipeline data6465 avoids N+1 queries6466 without artifacts and trace6467 returns no artifacts nor trace data6468 behaves like a job with artifacts and trace6469 with artifacts and trace6470 returns artifacts and trace data6471 filter project with one scope element6472 is expected to be a kind of Array6473 filter project with array of scope elements6474 is expected to be a kind of Array6475 respond 400 when scope contains invalid state6476 is expected to respond with numeric status code bad_request6477 behaves like an endpoint with keyset pagination6478 on making requests with supported ordering structure6479 includes keyset url params in the url response6480 does not include pagination headers6481 paginates the records correctly6482 on making requests with unsupported ordering structure6483 returns error6484 unauthorized user6485 when user is not logged in6486 does not return project jobs6487 when user is guest6488 does not return project jobs6489 GET /projects/:id/jobs offset pagination6490 returns one record for the first page6491 returns second record when passed in offset and per_page params6492 GET /projects/:id/jobs keyset pagination6493 returns first page with cursor to next page6494 respects scope filters6495 GET /projects/:id/jobs rate limited6496 enforces rate limits for the endpoint6497 GET /projects/:id/jobs/:job_id6498 authorized user6499 returns specific job data6500 behaves like returns common job data6501 returns common job data6502 behaves like a job with artifacts and trace6503 with artifacts and trace6504 returns artifacts and trace data6505 behaves like returns common pipeline data6506 returns common pipeline data6507 unauthorized user6508 does not return specific job data6509 when job succeeded6510 does not return failure_reason6511 when job failed6512 returns failure_reason6513 when job is erased6514 returns specific job data6515 when trace artifact record exists with no stored file6516 returns no artifacts nor trace data6517 GET /projects/:id/jobs/:job_id/trace6518 authorized user6519 when log is in ObjectStorage6520 returns specific job logs6521 when log is artifact6522 returns specific job log6523 when incremental logging and uploadless log artifact6524 returns specific job log6525 when log is incremental6526 returns specific job log6527 when no log6528 returns empty log6529 when log artifact record exists with no stored file6530 returns empty trace6531 unauthorized user6532 does not return specific job log6533 when metadata debug_trace_enabled is set to true6534 behaves like additional access criteria6535 public_builds: true, user_project_role: "developer", expected_status: :ok6536 renders trace to authorized users6537 public_builds: true, user_project_role: "guest", expected_status: :forbidden6538 renders trace to authorized users6539 public_builds: false, user_project_role: "developer", expected_status: :ok6540 renders trace to authorized users6541 public_builds: false, user_project_role: "guest", expected_status: :forbidden6542 renders trace to authorized users6543 when ci_debug_trace is set to true6544 behaves like additional access criteria6545 public_builds: true, user_project_role: "developer", expected_status: :ok6546 renders trace to authorized users6547 public_builds: true, user_project_role: "guest", expected_status: :forbidden6548 renders trace to authorized users6549 public_builds: false, user_project_role: "developer", expected_status: :ok6550 renders trace to authorized users6551 public_builds: false, user_project_role: "guest", expected_status: :forbidden6552 renders trace to authorized users6553 when ci_debug_services is set to true6554 behaves like additional access criteria6555 public_builds: true, user_project_role: "developer", expected_status: :ok6556 renders trace to authorized users6557 public_builds: true, user_project_role: "guest", expected_status: :forbidden6558 renders trace to authorized users6559 public_builds: false, user_project_role: "developer", expected_status: :ok6560 renders trace to authorized users6561 public_builds: false, user_project_role: "guest", expected_status: :forbidden6562 renders trace to authorized users6563 POST /projects/:id/jobs/:job_id/cancel6564 authorized user6565 user with :update_build persmission6566 cancels running or pending job6567 user without :update_build permission6568 does not cancel job6569 unauthorized user6570 does not cancel job6571 POST /projects/:id/jobs/:job_id/retry6572 authorized user6573 user with :update_build permission6574 retries non-running job6575 when a build is not retryable6576 responds with unprocessable entity6577 user without :update_build permission6578 does not retry job6579 unauthorized user6580 does not retry job6581 POST /projects/:id/jobs/:job_id/erase6582 when project is not undergoing stats refresh6583 job is erasable6584 updates job6585 behaves like erases job6586 erases job content6587 when job has an unarchived trace artifact6588 behaves like erases job6589 erases job content6590 job is not erasable6591 responds with forbidden6592 when a developer erases a build6593 when the build was created by the developer6594 is expected to respond with numeric status code created6595 when the build was created by another user6596 is expected to respond with numeric status code forbidden6597 when project is undergoing stats refresh6598 behaves like preventing request because of ongoing project stats refresh6599 logs about the rejected request6600 returns 409 error6601 does not delete artifacts6602 POST /projects/:id/jobs/:job_id/play6603 on a playable job6604 when user is authorized to trigger a manual action6605 that is a bridge6606 plays the job6607 that is a build6608 plays the job6609 when the user provides valid custom variables6610 applies the variables to the job6611 when the user provides a variable without a key6612 reports that the key is missing6613 when the user provides a variable without a value6614 reports that the value is missing6615 when the user provides both valid and invalid variables6616 reports the invalid variables and does not run the job6617 when user is not authorized to trigger a manual action6618 when user does not have access to the project6619 does not trigger a manual action6620 when user is not allowed to trigger the manual action6621 does not trigger a manual action6622 on a non-playable job6623 returns a status code 400, Bad Request6624API::Issues6625 POST /projects/:id/issues6626 creates a new project issue6627 creates a new project issue with labels param as array6628 creates a new confidential project issue6629 creates a new confidential project issue with a different param6630 creates a public issue when confidential param is false6631 creates a public issue when confidential param is invalid6632 returns a 400 bad request if title not given6633 allows special label names6634 allows special label names with labels param as array6635 returns 400 if title is too long6636 support for deprecated assignee_id6637 creates a new project issue6638 creates a new project issue when assignee_id is empty6639 single assignee restrictions6640 creates a new project issue with no more than one assignee6641 user does not have permissions to create issue6642 renders 4036643 an internal ID is provided6644 by an admin6645 sets the internal ID on the new issue6646 by an owner6647 sets the internal ID on the new issue6648 by a group owner6649 sets the internal ID on the new issue6650 by another user6651 ignores the given internal ID6652 when an issue with the same IID exists on database6653 returns 4096654 resolving discussions6655 resolving all discussions in a merge request6656 behaves like creating an issue resolving discussions through the API6657 creates a new project issue6658 resolves the discussions in a merge request6659 assigns a description to the issue mentioning the merge request6660 resolving a single discussion6661 behaves like creating an issue resolving discussions through the API6662 creates a new project issue6663 resolves the discussions in a merge request6664 assigns a description to the issue mentioning the merge request6665 with due date6666 creates a new project issue6667 setting created_at6668 by an admin6669 sets the creation time on the new issue6670 by a project owner6671 sets the creation time on the new issue6672 by a group owner6673 sets the creation time on the new issue6674 by another user6675 ignores the given creation time6676 the user can only read the issue6677 cannot create new labels6678 cannot create new labels with labels param as array6679 when request exceeds the rate limit6680 prevents users from creating more issues6681 POST /projects/:id/issues with spam filtering6682 when allow_possible_spam application setting is false6683 does not create a new project issue6684 returns correct status and message6685 creates a new spam log entry6686 when allow_possible_spam application setting is true6687 does creates a new project issue6688 returns correct status6689 creates a new spam log entry6690 /projects/:id/issues/:issue_iid/move6691 moves an issue6692 moves the issue to another namespace if I am admin6693 behaves like POST request permissions for admin mode6694 behaves like when admin6695 behaves like makes request6696 returns6697 behaves like makes request6698 returns6699 behaves like when user6700 returns6701 behaves like makes request6702 returns6703 when source and target projects are the same6704 returns 400 when trying to move an issue6705 when the user does not have the permission to move issues6706 returns 400 when trying to move an issue6707 when issue does not exist6708 returns 404 when trying to move an issue6709 when source project does not exist6710 returns 404 when trying to move an issue6711 when target project does not exist6712 returns 404 when trying to move an issue6713 /projects/:id/issues/:issue_iid/clone6714 clones the issue with notes when with_notes is true6715 when user can admin the issue6716 when the user can admin the target project6717 clones the issue6718 when target project is the same source project6719 clones the issue6720 when the user does not have the permission to clone issues6721 returns 4006722 when issue does not exist6723 returns 4046724 when source project does not exist6725 returns 4046726 when target project does not exist6727 returns 4046728 POST :id/issues/:issue_iid/subscribe6729 subscribes to an issue6730 returns 304 if already subscribed6731 returns 404 if the issue is not found6732 returns 404 if the issue is confidential6733 POST :id/issues/:issue_id/unsubscribe6734 unsubscribes from an issue6735 returns 304 if not subscribed6736 returns 404 if the issue is not found6737 returns 404 if the issue is confidential6738SearchController6739 authorized user6740 GET #show6741 finds issue comments6742 increments the custom search sli apdex6743 behaves like when the user cannot read cross project6744 blocks access without a project_id6745 allows access with a project_id6746 still allows accessing the search page6747 behaves like with external authorization service enabled6748 renders a 403 when no project is given6749 renders a 200 when a project was set6750 behaves like support for active record query timeouts6751 renders a 408 when a timeout occurs6752 rate limit scope6753 uses current_user and search scope6754 uses just current_user when no search scope is used6755 uses just current_user when search scope is abusive6756 uses the right partials depending on scope6757 partial: "_blob", scope: :blobs6758 is expected to render template search/results/_blob6759 partial: "_wiki_blob", scope: :wiki_blobs6760 is expected to render template search/results/_wiki_blob6761 partial: "_commit", scope: :commits6762 is expected to render template search/results/_commit6763 global search6764 when block_anonymous_global_searches is disabled6765 omits pipeline status from load6766 check search term length6767 string_name: :chars_under_limit, expectation: :not_to_set_flash6768 is expected not to should set flash[:alert]6769 string_name: :chars_over_limit, expectation: :set_chars_flash6770 is expected to should set flash[:alert] to a value matching /characters/6771 string_name: :terms_under_limit, expectation: :not_to_set_flash6772 is expected not to should set flash[:alert]6773 string_name: :terms_over_limit, expectation: :set_terms_flash6774 is expected to should set flash[:alert] to a value matching /terms/6775 string_name: :term_length_under_limit, expectation: :not_to_set_flash6776 is expected not to should set flash[:alert]6777 string_name: :term_length_over_limit, expectation: :not_to_set_flash6778 is expected not to should set flash[:alert]6779 string_name: :blank, expectation: :not_to_set_flash6780 is expected not to should set flash[:alert]6781 when block_anonymous_global_searches is enabled6782 for unauthenticated user6783 redirects to login page6784 redirects to login page when trying to circumvent the restriction6785 for authenticated user6786 succeeds6787 handling abusive search_terms6788 succeeds but does NOT do anything6789 tab feature flags6790 feature_flag: :global_search_code_tab, scope: "blobs"6791 returns 200 if flag is enabled6792 redirects with alert if flag is disabled6793 feature_flag: :global_search_issues_tab, scope: "issues"6794 returns 200 if flag is enabled6795 redirects with alert if flag is disabled6796 feature_flag: :global_search_merge_requests_tab, scope: "merge_requests"6797 returns 200 if flag is enabled6798 redirects with alert if flag is disabled6799 feature_flag: :global_search_wiki_tab, scope: "wiki_blobs"6800 returns 200 if flag is enabled6801 redirects with alert if flag is disabled6802 feature_flag: :global_search_commits_tab, scope: "commits"6803 returns 200 if flag is enabled6804 redirects with alert if flag is disabled6805 feature_flag: :global_search_users_tab, scope: "users"6806 returns 200 if flag is enabled6807 redirects with alert if flag is disabled6808 unique users tracking6809 behaves like tracking unique hll events6810 tracks unique event6811 behaves like Snowplow event tracking with RedisHLL context6812 behaves like Snowplow event tracking6813 is emitted6814 on restricted projects6815 doesn't expose comments on merge_requests6816 doesn't expose comments on snippets6817 when signed out6818 doesn't expose comments on issues6819 behaves like rate limited endpoint6820 when rate limiter enabled6821 logs request and declines it when endpoint called more than the threshold6822 when rate limiter is disabled6823 does not log request and does not block the request6824 behaves like search request exceeding rate limit6825 allows user in allow-list to search without applying rate limit6826 when rate limiter enabled6827 logs request and declines it when endpoint called more than the threshold6828 when rate limiter is disabled6829 does not log request and does not block the request6830 custom search sli error rate6831 when the search is successful6832 increments the custom search sli error rate with error: false6833 when the search raises an error6834 increments the custom search sli error rate with error: true6835 when something goes wrong before a search is done6836 does not increment the error rate6837 GET #count6838 returns the result count for the given term and scope6839 raises an error if search term is missing6840 raises an error if search scope is missing6841 sets correct cache control headers6842 does NOT blow up if search param is NOT a string6843 does NOT blow up if repository_ref contains abusive characters6844 behaves like when the user cannot read cross project6845 blocks access without a project_id6846 allows access with a project_id6847 behaves like with external authorization service enabled6848 renders a 403 when no project is given6849 renders a 200 when a project was set6850 behaves like support for active record query timeouts6851 renders a 408 when a timeout occurs6852 rate limit scope6853 uses current_user and search scope6854 uses just current_user when search scope is abusive6855 behaves like rate limited endpoint6856 when rate limiter enabled6857 logs request and declines it when endpoint called more than the threshold6858 when rate limiter is disabled6859 does not log request and does not block the request6860 behaves like search request exceeding rate limit6861 allows user in allow-list to search without applying rate limit6862 when rate limiter enabled6863 logs request and declines it when endpoint called more than the threshold6864 when rate limiter is disabled6865 does not log request and does not block the request6866 GET #autocomplete6867 raises an error if search term is missing6868 returns an empty array when given abusive search term6869 can be filtered with params[:filter]6870 can be scoped with params[:scope]6871 makes a call to search_autocomplete_opts6872 sets correct cache control headers6873 behaves like when the user cannot read cross project6874 blocks access without a project_id6875 allows access with a project_id6876 behaves like with external authorization service enabled6877 renders a 403 when no project is given6878 renders a 200 when a project was set6879 behaves like support for active record query timeouts6880 renders a 408 when a timeout occurs6881 rate limit scope6882 uses current_user and search scope6883 uses just current_user when search scope is abusive6884 behaves like rate limited endpoint6885 when rate limiter enabled6886 logs request and declines it when endpoint called more than the threshold6887 when rate limiter is disabled6888 does not log request and does not block the request6889 behaves like search request exceeding rate limit6890 allows user in allow-list to search without applying rate limit6891 when rate limiter enabled6892 logs request and declines it when endpoint called more than the threshold6893 when rate limiter is disabled6894 does not log request and does not block the request6895 unique users tracking6896 behaves like tracking unique hll events6897 tracks unique event6898 behaves like Snowplow event tracking with RedisHLL context6899 behaves like Snowplow event tracking6900 is emitted6901 #append_info_to_payload6902 appends search metadata for logging6903 appends the default scope in meta.search.scope6904 appends the search time based on the search6905 abusive searches6906 returns EmptySearchResults6907 unauthorized user6908 search rate limits6909 endpoint: :show, params: {:search=>"hello", :scope=>"projects"}6910 uses request IP as rate limiting scope6911 behaves like rate limited endpoint6912 when rate limiter enabled6913 logs request and declines it when endpoint called more than the threshold6914 when rate limiter is disabled6915 does not log request and does not block the request6916 endpoint: :count, params: {:search=>"hello", :scope=>"projects"}6917 uses request IP as rate limiting scope6918 behaves like rate limited endpoint6919 when rate limiter enabled6920 logs request and declines it when endpoint called more than the threshold6921 when rate limiter is disabled6922 does not log request and does not block the request6923 endpoint: :autocomplete, params: {:term=>"hello", :scope=>"projects"}6924 uses request IP as rate limiting scope6925 behaves like rate limited endpoint6926 when rate limiter enabled6927 logs request and declines it when endpoint called more than the threshold6928 when rate limiter is disabled6929 does not log request and does not block the request6930 GET #opensearch6931 renders xml6932ApplicationController6933 #check_password_expiration6934 redirects if the user is over their password expiry6935 does not redirect if the user is under their password expiry6936 does not redirect if the user is over their password expiry but they are an ldap user6937 does not redirect if the user is over their password expiry but password authentication is disabled for the web interface6938 #add_gon_variables6939 with html format6940 behaves like setting gon variables6941 sets gon variables6942 with json format6943 behaves like not setting gon variables6944 does not set gon variables6945 with atom format6946 behaves like not setting gon variables6947 does not set gon variables6948 session expiration6949 authenticated user6950 does not set the expire_after option6951 unauthenticated user6952 sets the expire_after option6953 response format6954 when format is handled6955 returns 200 response6956 when format is not handled6957 returns 404 response6958 #route_not_found6959 renders 404 if authenticated6960 renders 404 if client is a search engine crawler6961 redirects to login page if not authenticated6962 redirects if unauthenticated and request format is unknown6963 #set_page_title_header6964 URI encodes UTF-8 characters in the title6965 two-factor authentication6966 #check_two_factor_requirement6967 does not redirect if user has temporary oauth email6968 does not redirect if 2FA is not required6969 does not redirect if user is not logged in6970 does not redirect if user has 2FA enabled6971 does not redirect if 2FA setup can be skipped6972 redirects to 2FA setup otherwise6973 #two_factor_authentication_required?6974 returns false if no 2FA requirement is present6975 returns true if a 2FA requirement is set in the application settings6976 returns true if a 2FA requirement is set on the user6977 #two_factor_grace_period6978 returns the grace period from the application settings6979 with a 2FA requirement set on the user6980 returns the user grace period if lower than the application grace period6981 returns the application grace period if lower than the user grace period6982 #two_factor_grace_period_expired?6983 returns false if the user has not started their grace period yet6984 with grace period started6985 returns true if the grace period has expired6986 returns false if the grace period is still active6987 #two_factor_skippable6988 returns false if 2FA is not required6989 returns false if the user has already enabled 2FA6990 returns false if the 2FA grace period has expired6991 returns true otherwise6992 #skip_two_factor?6993 returns false if 2FA setup was not skipped6994 with 2FA setup skipped6995 returns false if the grace period has expired6996 returns true if the grace period is still active6997 deactivated user6998 signs out a deactivated user6999 terms7000 does not query more when terms are enforced7001 when terms are enforced7002 redirects if the user did not accept the terms7003 does not redirect when the user accepted terms7004 #append_info_to_payload7005 does not log errors with a 200 response7006 does log correlation id7007 adds context metadata to the payload7008 logs response length7009 urgency information7010 adds default urgency information to the payload7011 adds customized urgency information to the payload7012 with log_response_length disabled7013 logs response length7014 #access_denied7015 renders a 404 without a message7016 renders a 403 when a message is passed to access denied7017 renders a status passed to access denied7018 when invalid UTF-8 parameters are received7019 html7020 renders 4127021 js7022 renders 4127023 X-GitLab-Custom-Error header7024 given a 422 error page7025 sets a custom header7026 given a 500 error page7027 sets a custom header7028 given a 200 success page7029 does not set a custom header7030 given a json response7031 sets a custom header7032 for html request7033 sets a custom header7034 for 200 response7035 does not set a custom header7036 control headers7037 sets the default headers7038 #stream_csv_headers7039 sets no-cache headers7040 sets stream headers7041 sets the csv specific headers7042 Gitlab::Session7043 is set on web requests7044 with sessionless user7045 is not set7046 #current_user_mode7047 with a regular user7048 admin mode is not set7049 with an admin user7050 admin mode is not set7051 that re-authenticated7052 admin mode is set7053 rescue_from Gitlab::Auth::IpBlocked7054 returns a 403 and logs the request7055 #set_current_context7056 does not break anything when no group or project method is defined7057 sets the username in the context when signed in7058 sets the group if it was available7059 sets the project if one was available7060 sets the caller_id as controller#action7061 sets the feature_category as defined in the controller7062 assigns the context to a variable for logging7063 assigns the context when the action caused an error7064 .endpoint_id_for_action7065 returns an expected endpoint id7066 #current_user7067 when being impersonated7068 returns a User with impersonator7069 when not being impersonated7070 returns a User7071 locale7072 sets user's locale7073 setting permissions-policy header7074 with FloC enabled7075 does not set the Permissions-Policy header7076 with FloC disabled7077 sets the Permissions-Policy header7078 sets the Permissions-Policy header even when redirected before_action7079 when Gitlab::Git::ResourceExhaustedError exception is raised7080 returns a plaintext error response with 503 status7081API::AwardEmoji7082 GET /projects/:id/awardable/:awardable_id/award_emoji7083 on an issue7084 returns an array of award_emoji7085 includes custom emoji attributes7086 returns a 404 error when issue id not found7087 behaves like unauthenticated request to public awardable7088 returns the awarded emoji7089 behaves like request with insufficient permissions7090 when user is not signed in7091 returns 4047092 when user does not have access7093 returns 4047094 on a merge request7095 returns an array of award_emoji7096 on a snippet7097 returns the awarded emoji7098 GET /projects/:id/awardable/:awardable_id/notes/:note_id/award_emoji7099 returns an array of award emoji7100 behaves like unauthenticated request to public awardable7101 returns the awarded emoji7102 behaves like request with insufficient permissions7103 when user is not signed in7104 returns 4047105 when user does not have access7106 returns 4047107 GET /projects/:id/awardable/:awardable_id/award_emoji/:award_id7108 on an issue7109 returns the award emoji7110 returns a 404 error if the award is not found7111 behaves like unauthenticated request to public awardable7112 returns the awarded emoji7113 behaves like request with insufficient permissions7114 when user is not signed in7115 returns 4047116 when user does not have access7117 returns 4047118 on a merge request7119 returns the award emoji7120 on a snippet7121 returns the awarded emoji7122 GET /projects/:id/awardable/:awardable_id/notes/:note_id/award_emoji/:award_id7123 returns an award emoji7124 when a confidential note7125 with sufficient persmissions7126 returns an award emoji7127 with insufficient permissions7128 returns 4047129 behaves like unauthenticated request to public awardable7130 returns the awarded emoji7131 behaves like request with insufficient permissions7132 when user is not signed in7133 returns 4047134 when user does not have access7135 returns 4047136 POST /projects/:id/awardable/:awardable_id/award_emoji7137 on an issue7138 creates a new award emoji7139 marks Todos on the Issue as done7140 returns a 400 bad request error if the name is not given7141 normalizes +1 as thumbsup award7142 when the emoji already has been awarded7143 returns a 404 status code7144 on a snippet7145 creates a new award emoji7146 behaves like request with insufficient permissions7147 when user is not signed in7148 returns 4047149 when user does not have access7150 returns 4047151 POST /projects/:id/awardable/:awardable_id/notes/:note_id/award_emoji7152 creates a new award emoji7153 marks Todos on the Noteable as done7154 normalizes +1 as thumbsup award7155 when the emoji already has been awarded7156 returns a 404 status code7157 behaves like request with insufficient permissions7158 when user is not signed in7159 returns 4047160 when user does not have access7161 returns 4047162 DELETE /projects/:id/awardable/:awardable_id/award_emoji/:award_id7163 when the awardable is an Issue7164 deletes the award7165 returns a 404 error when the award emoji can not be found7166 behaves like 412 response7167 for a modified resource7168 returns 412 with a JSON error7169 for an unmodified resource7170 returns 204 with an empty body7171 when the awardable is a Merge Request7172 deletes the award7173 returns a 404 error when note id not found7174 behaves like 412 response7175 for a modified resource7176 returns 412 with a JSON error7177 for an unmodified resource7178 returns 204 with an empty body7179 when the awardable is a Snippet7180 deletes the award7181 behaves like 412 response7182 for a modified resource7183 returns 412 with a JSON error7184 for an unmodified resource7185 returns 204 with an empty body7186 behaves like request with insufficient permissions7187 when user is not signed in7188 returns 4047189 when user does not have access7190 returns 4047191 DELETE /projects/:id/awardable/:awardable_id/notes/:note_id/award_emoji/:award_id7192 deletes the award7193 behaves like 412 response7194 for a modified resource7195 returns 412 with a JSON error7196 for an unmodified resource7197 returns 204 with an empty body7198 behaves like request with insufficient permissions7199 when user is not signed in7200 returns 4047201 when user does not have access7202 returns 4047203package details7204 with unauthorized user7205 returns no packages7206 with access to package registry for everyone7207 `public_package` returns true7208 behaves like a working graphql query7209 returns a successful response7210 matches the JSON schema7211 when project is public7212 `public_package` returns true7213 behaves like a working graphql query7214 returns a successful response7215 matches the JSON schema7216 with authorized user7217 behaves like a working graphql query7218 returns a successful response7219 matches the JSON schema7220 with package without last_downloaded_at7221 matches the JSON schema7222 with package files pending destruction7223 does not return them7224 with a batched query7225 returns an error for the second package and data for the first7226 versions field7227 returns other versions7228 pipelines field7229 loads the second page with pagination first correctly7230 loads the second page with pagination last correctly7231 package managers paths7232 returns npm_url correctly7233 returns maven_url correctly7234 returns conan_url correctly7235 returns nuget_url correctly7236 returns pypi_url correctly7237 returns pypi_setup_url correctly7238 returns composer_url correctly7239 returns composer_config_repository_url correctly7240 with access to package registry for everyone7241 returns pypi_url correctly7242 when project is public7243 returns pypi_url correctly7244 web_path7245 returns web_path correctly7246 with terraform module7247 returns web_path correctly7248 public_package7249 when project is private7250 returns false7251 with access to package registry for everyone7252 returns true7253 when project is public7254 returns true7255 with package that has no default status7256 does not return package's details7257Projects::DeployKeysController7258 GET index7259 when html requested7260 redirects to project settings with the correct anchor7261 when json requested7262 when user has access to all projects where deploy keys are used7263 returns json in a correct format7264 when user has no access to all projects where deploy keys are used7265 returns json in a correct format7266 POST create7267 creates a new deploy key for the project7268 redirects to project settings with the correct anchor7269 when the deploy key has an invalid title7270 shows an alert with the validations errors7271 when the deploy key is not supported SSH public key7272 shows an alert with a help link7273 when the deploy key already exists7274 shows an alert with the validations errors7275 /enable/:id7276 with anonymous user7277 redirects to login7278 with user with no permission7279 returns 4047280 with user with permission7281 returns 3027282 returns 4047283 with admin7284 returns 3027285 /disable/:id7286 with anonymous user7287 redirects to login7288 with user with no permission7289 returns 4047290 with user with permission7291 returns 3027292 returns 4047293 with admin7294 returns 3027295 PUT update7296 with project maintainer7297 public deploy key attached to project7298 does not update the title of the deploy key7299 updates can_push of deploy_keys_project7300 with admin7301 public deploy key attached to project7302 updates the title of the deploy key7303 updates can_push of deploy_keys_project7304 when a different deploy key id param is injected7305 and that deploy key id exists7306 does not update the can_push attribute7307 and that deploy key id does not exist7308 returns 4047309 with admin as project maintainer7310 public deploy key attached to project7311 updates can_push of deploy_keys_project7312 admin mode disabled7313 does not update the title of the deploy key7314 admin mode enabled7315 updates the title of the deploy key7316API::ProjectImport7317 POST /projects/import7318 executes a limited number of queries7319 schedules an import using a namespace7320 schedules an import using the namespace path7321 does not schedule an import for a namespace that does not exist7322 does not schedule an import if the user has no permission to the namespace7323 stores params that can be overridden7324 does not store params that are not allowed7325 behaves like requires authentication7326 returns 4017327 behaves like requires import source to be enabled7328 when gitlab_project import_sources is disabled7329 returns 4037330 when a name is explicitly set7331 schedules an import using a namespace and a different name7332 schedules an import using the namespace path and a different name7333 sets name correctly7334 sets name correctly with an overwrite7335 schedules an import using the path and name explicitly set to nil7336 when namespace not set7337 schedules an import at the user namespace level7338 when current user is a bot user7339 does not schedule an import7340 when passed in namespace is a bot user namespace7341 does not schedule an import7342 if user uploads no valid file7343 does not schedule an import if the user uploads no valid file7344 when target path already exists in namespace7345 does not schedule an import7346 when param overwrite is true7347 schedules an import7348 when request exceeds the rate limit7349 prevents users from importing projects7350 when using remote storage7351 schedules an import7352 POST /projects/remote-import7353 behaves like requires authentication7354 returns 4017355 behaves like requires import source to be enabled7356 when gitlab_project import_sources is disabled7357 returns 4037358 when the response is successful7359 schedules the import successfully7360 when the service returns an error7361 fails to schedule the import7362 POST /projects/remote-import-s37363 behaves like requires authentication7364 returns 4017365 behaves like requires import source to be enabled7366 when gitlab_project import_sources is disabled7367 returns 4037368 when the response is successful7369 schedules the import successfully7370 when the service returns an error7371 fails to schedule the import7372 GET /projects/:id/import7373 returns the import status7374 returns the import status and the error if failed7375 returns the import status if canceled7376 with an unauthenticated user7377 returns unauthorized response for public project import status7378 POST /projects/import/authorize7379 authorizes importing project with workhorse header7380 rejects requests that bypassed gitlab-workhorse7381 behaves like requires authentication7382 returns 4017383 behaves like requires import source to be enabled7384 when gitlab_project import_sources is disabled7385 returns 4037386 when using remote storage7387 when direct upload is enabled7388 responds with status 200, location of file remote store and object details7389 when direct upload is disabled7390 handles as a local file7391API::Todos7392 GET /todos7393 avoids N+1 queries7394 when unauthenticated7395 returns authentication error7396 when authenticated7397 returns an array of pending todos for current user7398 when invalid params7399 invalid action7400 returns 4007401 invalid state7402 returns 4007403 invalid type7404 returns 4007405 when current user does not have access to one of the TODO's target7406 filters out unauthorized todos7407 and using the author filter7408 filters based on author_id param7409 and using the type filter7410 filters based on type param7411 and using the state filter7412 filters based on state param7413 and using the project filter7414 filters based on project_id param7415 and using the group filter7416 filters based on project_id param7417 and using the action filter7418 filters based on action param7419 when there is a Design Todo7420 is expected to respond with numeric status code ok7421 avoids N+1 queries7422 includes the Design Todo in the response7423 POST /todos/:id/mark_as_done7424 when unauthenticated7425 returns authentication error7426 when authenticated7427 marks a todo as done7428 updates todos cache7429 returns 404 if the todo does not belong to the current user7430 POST /mark_as_done7431 when unauthenticated7432 returns authentication error7433 when authenticated7434 marks all todos as done7435 updates todos cache7436 POST :id/issuable_type/:issuable_id/todo7437 for an issue7438 returns an error if the issue author does not have access7439 behaves like an issuable7440 creates a todo on an issuable7441 returns 304 there already exist a todo on that issuable7442 returns 404 if the issuable is not found7443 returns an error if the issuable is not accessible7444 for a merge request7445 returns an error if the merge request author does not have access7446 behaves like an issuable7447 creates a todo on an issuable7448 returns 304 there already exist a todo on that issuable7449 returns 404 if the issuable is not found7450 returns an error if the issuable is not accessible7451Update of an existing issue7452 the user is not allowed to update issue7453 behaves like a mutation that returns a top-level access error7454 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"7455 when user has permissions to update issue7456 updates the issue7457 when issue_type is updated7458 updates issue_type and work_item_type7459 setting labels7460 reset labels7461 resets labels7462 reset labels and add labels7463 returns error for mutually exclusive arguments7464 reset labels and remove labels7465 returns error for mutually exclusive arguments7466 with global label ids7467 resets labels7468 add and remove labels7469 returns correct labels7470 add labels7471 adds labels and keeps the title ordering7472 behaves like updating time estimate7473 when setting time estimate7474 when time estimate is not provided7475 does not update7476 when time estimate is not a valid numerical value7477 does not update7478 returns error7479 when time estimate is not a number7480 does not update7481 returns error7482 when time estimate is valid7483 behaves like a working GraphQL mutation7484 with a personal access token7485 behaves like prevents access to the mutation7486 does not resolve the mutation7487 behaves like allows access to the mutation7488 behaves like a working graphql query that returns data7489 contains data7490 behaves like a working graphql query7491 returns a successful response7492 with an OAuth token7493 behaves like prevents access to the mutation7494 does not resolve the mutation7495 behaves like allows access to the mutation7496 behaves like a working graphql query that returns data7497 contains data7498 behaves like a working graphql query7499 returns a successful response7500 time_estimate: "1h", value: 36007501 is expected to eq 36007502 time_estimate: "0h", value: 07503 is expected to eq 07504 time_estimate: "-0h", value: 07505 is expected to eq 07506 time_estimate: nil, value: 07507 is expected to eq 07508Projects::SnippetsController7509 GET #index7510 fetches snippet counts via the snippet count service7511 behaves like paginated collection7512 renders a page number that is not ouf of range7513 redirects to last_page if page number is larger than number of pages7514 does not redirect to external sites when provided a host field7515 behaves like snippets sort order7516 when no sort param is provided7517 calls SnippetsFinder with updated_at sort option7518 when sort param is provided7519 calls SnippetsFinder with the given sort param7520 behaves like snippets views7521 when rendered7522 avoids N+1 database queries7523 when the project snippet is private7524 when anonymous7525 does not include the private snippet7526 when signed in as the author7527 renders the snippet7528 when signed in as a project member7529 renders the snippet7530 POST #mark_as_spam7531 updates the snippet7532 GET #show7533 when the project snippet is private7534 when anonymous7535 responds with status 4047536 when signed in as the author7537 behaves like successful response7538 renders the snippet7539 when signed in as a project member7540 behaves like successful response7541 renders the snippet7542 when the project snippet does not exist7543 when anonymous7544 responds with status 4047545 when signed in7546 responds with status 4047547 when the project snippet is public7548 when attempting to access from a different project route7549 responds with status 4047550 GET #raw7551 when the project snippet is private7552 when anonymous7553 responds with status 4047554 when signed in as the author7555 behaves like successful response7556 renders the snippet7557 when signed in as a project member7558 behaves like successful response7559 renders the snippet7560 when the project snippet does not exist7561 when anonymous7562 responds with status 4047563 when signed in7564 responds with status 4047565 when the project snippet is public7566 when attempting to access from a different project route7567 responds with status 4047568 GET #show for embeddable content7569 when snippet is private7570 responds with status 4047571 when snippet is public7572 renders the blob from the repository7573 does not show the blobs expanded by default7574 when param expanded is set7575 shows all blobs expanded7576 when the project is private7577 when snippet is public7578 responds with status 4047579 GET #raw7580 when repository is empty7581 CRLF line ending7582 returns LF line endings by default7583 when line_ending parameter present7584 does not convert line endings7585 when repository is not empty7586 sends the blob7587 behaves like project cache control headers7588 when project is public7589 returns cache_control public header to true7590 when project is private7591 returns cache_control public header to true7592 when project is internal7593 returns cache_control public header to true7594 behaves like content disposition headers7595 sets content disposition to inline7596 when inline param is false7597 sets content disposition to attachment7598Projects::BlobController7599 GET show7600 with file path7601 when the ref is ambiguous7602 and the redirect_with_ref_type flag is disabled7603 and explicitly requesting a branch7604 redirects to blob#show with sha for the branch7605 and explicitly requesting a tag7606 responds with success7607 and the redirect_with_ref_type flag is enabled7608 when the ref_type is nil7609 redirects to the tag7610 valid branch, valid file7611 is expected to respond with 2007612 valid branch, invalid file7613 redirects7614 invalid branch, valid file7615 is expected to respond with 4047616 when default branch was renamed7617 renamed default branch, valid file7618 is expected to redirect to "/namespace607/project-787/-/blob/master/README.md"7619 renamed default branch, invalid file7620 is expected to redirect to "/namespace607/project-787/-/blob/master/invalid-path.rb"7621 binary file7622 is expected to respond with 2007623 Markdown file7624 is expected to respond with 2007625 with file path and JSON format7626 valid branch, valid file7627 is expected to have key "raw_path"7628 with viewer=none7629 is expected to have key "raw_path"7630 with tree path7631 redirect to tree7632 redirects7633 GET diff7634 when essential params are missing7635 renders nothing7636 when essential params are present7637 when rendering for commit7638 renders the diff content7639 when rendering for merge request7640 renders diff context lines Gitlab::Diff::Line array7641 handles full being true7642 GET edit7643 anonymous7644 redirects to sign in and returns7645 as guest7646 redirects to blob show7647 as developer7648 redirects to blob show7649 as maintainer7650 redirects to blob show7651 PUT update7652 redirects to blob7653 ?from_merge_request_iid7654 redirects to MR diff7655 when user doesn't have access7656 redirects to blob7657 when user has forked project7658 when editing on the fork7659 redirects to blob7660 when editing on the original repository7661 redirects to forked project new merge request7662 events tracking7663 behaves like tracking unique hll events7664 tracks unique event7665 behaves like Snowplow event tracking with RedisHLL context7666 behaves like Snowplow event tracking7667 is emitted7668 DELETE destroy7669 for a file in a subdirectory7670 redirects to the sub directory7671 when a validation failure occurs7672 redirects to a valid page7673 if deleted file is the last one in a subdirectory7674 redirects to the project root7675 when deleting a file in a branch other than master7676 redirects to the project root of the branch7677 POST preview7678 is successful7679 POST create7680 redirects to blob7681 behaves like tracking unique hll events7682 tracks unique event7683 behaves like Snowplow event tracking with RedisHLL context7684 behaves like Snowplow event tracking7685 is emitted7686API::Internal::ErrorTracking7687 GET /internal/error_tracking/allowed7688 when the secret header is missing7689 responds with unauthorized entity7690 when some params are missing7691 responds with unprocessable entity7692 when public_key is unknown7693 returns enabled: false7694 when unknown project_id is unknown7695 responds with 404 not found7696 when the error tracking is disabled7697 returns enabled: false7698 when the error tracking is enabled7699 returns enabled: true7700 when feature flags gitlab_error_tracking are disabled7701 returns enabled: false7702API::IssueLinks7703 GET /links7704 when unauthenticated7705 returns 4017706 when authenticated7707 returns related issues7708 returns multiple links without N + 17709 POST /links7710 when unauthenticated7711 returns 4017712 when authenticated7713 given target project not found7714 returns 4047715 given target issue not found7716 returns 4047717 when user does not have write access to given issue7718 returns 4037719 when trying to relate to a confidential issue7720 returns 4047721 when trying to relate to a private project issue7722 returns 4047723 when user has ability to create an issue link7724 returns 201 status and contains the expected link response7725 returns 201 when sending full path of target project7726 GET /links/:issue_link_id7727 when unauthenticated7728 when accessing an issue of a private project7729 returns 4017730 when accessing an issue of a public project7731 returns 4017732 when authenticated7733 when issue link does not exist7734 returns 4047735 when issue link does not belong to the specified issue7736 returns 4047737 when user has ability to read the issue link7738 returns 2007739 when user cannot read issue link7740 when the issue link targets an issue in a non-accessible project7741 returns 4047742 when issue link targets a non-accessible issue7743 returns 4047744 DELETE /links/:issue_link_id7745 when unauthenticated7746 returns 4017747 when authenticated7748 when user does not have write access to given issue link7749 returns 4047750 issue link not found7751 returns 4047752 when trying to delete a link with a private project issue7753 returns 4047754 when user has ability to delete the issue link7755 returns 2007756 returns 404 when the issue link does not belong to the specified issue7757GraphqlController7758 rescue_from7759 handles ArgumentError7760 handles a timeout nicely7761 handles StandardError7762 handles Gitlab::Auth::TooManyIps7763 handles Gitlab::Git::ResourceExhaustedError7764 POST #execute7765 includes request object in context7766 sets `context[:remove_deprecated]` to false by default7767 sets `context[:remove_deprecated]` to true when `remove_deprecated` param is truthy7768 when user is logged in7769 sets feature category in ApplicationContext from request7770 returns 200 when user can access API7771 executes a simple query with no errors7772 executes a simple multiplexed query with no errors7773 executes a multiplexed queries with variables with no errors7774 does not allow string as _json parameter (a malformed multiplex query)7775 sets a limit on the total query size7776 sets a limit on the total query size for multiplex queries7777 returns forbidden when user cannot access API7778 updates the users last_activity_on field7779 sets context's sessionless value as false7780 calls the track api when trackable method7781 calls the track jetbrains api when trackable method7782 calls the track jetbrains bundled third party api when trackable method7783 calls the track visual studio extension api when trackable method7784 calls the track neovim plugin api when trackable method7785 assigns username in ApplicationContext7786 if using the GitLab CLI7787 call trackable for the old UserAgent7788 call trackable for the current UserAgent7789 when 2FA is required for the user7790 does not redirect if 2FA is enabled7791 when user uses an API token7792 updates the users last_activity_on field7793 sets context's sessionless value as true7794 assigns username in ApplicationContext7795 calls the track api when trackable method7796 calls the track jetbrains api when trackable method7797 calls the track jetbrains bundled third party api when trackable method7798 calls the track visual studio extension api when trackable method7799 calls the track neovim plugin api when trackable method7800 calls the track gitlab cli when trackable method7801 with an invalid token7802 with auth header7803 with private-token7804 behaves like invalid token7805 returns 401 with invalid token message7806 with job-token7807 behaves like invalid token7808 returns 401 with invalid token message7809 with deploy-token7810 behaves like invalid token7811 returns 401 with invalid token message7812 with authorization bearer (oauth token)7813 behaves like invalid token7814 returns 401 with invalid token message7815 with auth param7816 with private_token7817 behaves like invalid token7818 returns 401 with invalid token message7819 with job_token7820 behaves like invalid token7821 returns 401 with invalid token message7822 with token7823 behaves like invalid token7824 returns 401 with invalid token message7825 when the user is a project bot7826 updates the users last_activity_on field7827 sets context's sessionless value as true7828 executes a simple query with no errors7829 can access resources the project_bot has access to7830 when user is not logged in7831 returns 2007832 sets context's sessionless value as false7833 does not assign a username in ApplicationContext7834 when querying an IntrospectionQuery7835 fails if the GraphiQL gem version is not 1.8.07836 in dev or test env7837 does not cache IntrospectionQuery7838 in env different from dev or test7839 caches IntrospectionQuery even when operationName is not given7840 caches the IntrospectionQuery7841 caches separately for both remove_deprecated set to true and false7842 has a different cache for each Gitlab.revision7843 hits the cache even if the whitespace in the query differs7844 when there is an unknown introspection query7845 does not cache an unknown introspection query7846 Admin Mode7847 when admin mode enabled7848 can query project data7849 when admin mode disabled7850 cannot query project data7851 when admin is member of the project7852 can query project data7853 #append_info_to_payload7854 appends metadata for logging7855 appends the exception in case of errors7856container repository details7857 behaves like a working graphql query7858 returns a successful response7859 matches the JSON schema7860 with different permissions7861 project_visibility: :private, role: :maintainer, access_granted: true, can_delete: true7862 return the proper response7863 project_visibility: :private, role: :developer, access_granted: true, can_delete: true7864 return the proper response7865 project_visibility: :private, role: :reporter, access_granted: true, can_delete: false7866 return the proper response7867 project_visibility: :private, role: :guest, access_granted: false, can_delete: false7868 return the proper response7869 project_visibility: :private, role: :anonymous, access_granted: false, can_delete: false7870 return the proper response7871 project_visibility: :public, role: :maintainer, access_granted: true, can_delete: true7872 return the proper response7873 project_visibility: :public, role: :developer, access_granted: true, can_delete: true7874 return the proper response7875 project_visibility: :public, role: :reporter, access_granted: true, can_delete: false7876 return the proper response7877 project_visibility: :public, role: :guest, access_granted: true, can_delete: false7878 return the proper response7879 project_visibility: :public, role: :anonymous, access_granted: true, can_delete: false7880 return the proper response7881 with a giant size tag7882 returns the expected value as a string7883 limiting the number of tags7884 only returns n tags7885 sorting the tags7886 sorts the tags7887 invalid sort7888 behaves like returning an invalid value error7889 returns an error7890 filtering by name7891 sorts the tags7892 invalid filter7893 behaves like returning an invalid value error7894 returns an error7895 size field7896 returns the size7897 with a network error7898 returns an error7899 with not supporting the gitlab api7900 returns nil7901 not on .com7902 returns nil7903 with an older container repository7904 returns nil7905 with tags with a manifest containing nil fields7906 returns a list of tags with a nil digest7907 returns a list of tags with a nil revision7908 returns a list of tags with a nil short_revision7909 returns a list of tags with a nil total_size7910 returns a list of tags with a nil created_at7911 behaves like handling graphql network errors with the container registry7912 returns a connection error7913Jira referenced paths7914 behaves like redirects to jira path7915 redirects to canonical path with legacy prefix7916 redirects to canonical path7917 contains @ before the first /7918 behaves like redirects to jira path7919 redirects to canonical path with legacy prefix7920 redirects to canonical path7921 including commit path7922 behaves like redirects to jira path7923 redirects to canonical path with legacy prefix7924 redirects to canonical path7925 including tree path7926 behaves like redirects to jira path7927 redirects to canonical path with legacy prefix7928 redirects to canonical path7929 malicious path7930 behaves like redirects to jira path7931 redirects to canonical path with legacy prefix7932 redirects to canonical path7933 regular paths with legacy prefix7934 jira_path: "/-/jira/group/group_project", redirect_path: "/group/group_project"7935 redirects to canonical path7936 jira_path: "/-/jira/group/group_project/commit/1234567", redirect_path: "/group/group_project/commit/1234567"7937 redirects to canonical path7938 jira_path: "/-/jira/group/group_project/tree/1234567", redirect_path: "/group/group_project/-/tree/1234567"7939 redirects to canonical path7940 when tree path has an @7941 does not do a redirect7942API::Boards7943 behaves like group and project boards7944 avoids N+1 queries7945 GET /projects/:id/boards7946 when unauthenticated7947 returns authentication error7948 when authenticated7949 returns the issue boards7950 GET /projects/:id/boards/:board_id7951 get a single board by id7952 PUT /projects/:id/boards/:board_id7953 updates the board name7954 updates the issue board booleans7955 GET /projects/:id/boards/:board_id/lists7956 returns issue board lists7957 returns 404 if board not found7958 GET /projects/:id/boards/:board_id/lists/:list_id7959 returns a list7960 returns 404 if list not found7961 POST /projects/:id/boards/lists7962 creates a new issue board list for labels7963 returns 400 when creating a new list if label_id is invalid7964 returns 403 for members with guest role7965 PUT /projects/:id/boards/:board_id/lists/:list_id to update only position7966 updates a list7967 returns 404 error if list id not found7968 returns 403 for members with guest role7969 DELETE /projects/:id/boards/lists/:list_id7970 rejects a non member from deleting a list7971 rejects a user with guest role from deleting a list7972 returns 404 error if list id not found7973 when the user is parent owner7974 deletes the list if an admin requests it7975 behaves like 412 response7976 for a modified resource7977 returns 412 with a JSON error7978 for an unmodified resource7979 returns 204 with an empty body7980 POST /projects/:id/boards7981 creates a new issue board7982 fails to create a new board7983 DELETE /projects/:id/boards/:board_id7984 delete the issue board7985 POST /projects/:id/boards/:board_id/lists7986 creates a new issue board list for group labels7987 creates a new board list for ancestor group labels7988 POST /groups/:id/boards/:board_id/lists7989 creates a new board list for ancestor group labels7990Oauth::ApplicationsController7991 project members7992 GET #new7993 is expected to respond with numeric status code ok7994 behaves like redirects to login page when the user is not signed in7995 is expected to redirect to "/users/sign_in"7996 behaves like redirects to 2fa setup page when the user requires it7997 when 2fa is set up on application level7998 is expected to redirect to "/-/profile/two_factor_auth"7999 when 2fa is set up on group level8000 is expected to redirect to "/-/profile/two_factor_auth"8001 DELETE #destroy8002 is expected to redirect to "http://test.host/oauth/applications"8003 behaves like redirects to login page when the user is not signed in8004 is expected to redirect to "/users/sign_in"8005 behaves like redirects to 2fa setup page when the user requires it8006 when 2fa is set up on application level8007 is expected to redirect to "/-/profile/two_factor_auth"8008 when 2fa is set up on group level8009 is expected to redirect to "/-/profile/two_factor_auth"8010 GET #edit8011 is expected to respond with numeric status code ok8012 behaves like redirects to login page when the user is not signed in8013 is expected to redirect to "/users/sign_in"8014 behaves like redirects to 2fa setup page when the user requires it8015 when 2fa is set up on application level8016 is expected to redirect to "/-/profile/two_factor_auth"8017 when 2fa is set up on group level8018 is expected to redirect to "/-/profile/two_factor_auth"8019 PUT #update8020 is expected to redirect to "http://test.host/oauth/applications/12"8021 behaves like redirects to login page when the user is not signed in8022 is expected to redirect to "/users/sign_in"8023 behaves like redirects to 2fa setup page when the user requires it8024 when 2fa is set up on application level8025 is expected to redirect to "/-/profile/two_factor_auth"8026 when 2fa is set up on group level8027 is expected to redirect to "/-/profile/two_factor_auth"8028 PUT #renew8029 is expected to respond with numeric status code ok8030 is expected to change `application.reload.secret`8031 returns the prefixed secret in json format8032 behaves like redirects to login page when the user is not signed in8033 is expected to redirect to "/users/sign_in"8034 behaves like redirects to 2fa setup page when the user requires it8035 when 2fa is set up on application level8036 is expected to redirect to "/-/profile/two_factor_auth"8037 when 2fa is set up on group level8038 is expected to redirect to "/-/profile/two_factor_auth"8039 when renew fails8040 is expected not to change `application.reload.secret`8041 is expected to respond with numeric status code unprocessable_entity8042 GET #show8043 is expected to respond with numeric status code ok8044 behaves like redirects to login page when the user is not signed in8045 is expected to redirect to "/users/sign_in"8046 behaves like redirects to 2fa setup page when the user requires it8047 when 2fa is set up on application level8048 is expected to redirect to "/-/profile/two_factor_auth"8049 when 2fa is set up on group level8050 is expected to redirect to "/-/profile/two_factor_auth"8051 GET #index8052 is expected to respond with numeric status code ok8053 when OAuth applications are disabled8054 is expected to respond with numeric status code ok8055 behaves like redirects to login page when the user is not signed in8056 is expected to redirect to "/users/sign_in"8057 behaves like redirects to 2fa setup page when the user requires it8058 when 2fa is set up on application level8059 is expected to redirect to "/-/profile/two_factor_auth"8060 when 2fa is set up on group level8061 is expected to redirect to "/-/profile/two_factor_auth"8062 POST #create8063 creates an application8064 redirects back to profile page if OAuth applications are disabled8065 the secret8066 is in the response8067 when redirect_uri is invalid8068 shows an error for a forbidden URI8069 when scopes are not present8070 shows an error for blank scopes8071 when scopes are invalid8072 shows an error for invalid scopes8073 behaves like redirects to login page when the user is not signed in8074 is expected to redirect to "/users/sign_in"8075 behaves like redirects to 2fa setup page when the user requires it8076 when 2fa is set up on application level8077 is expected to redirect to "/-/profile/two_factor_auth"8078 when 2fa is set up on group level8079 is expected to redirect to "/-/profile/two_factor_auth"8080 Helpers8081 current_user_mode available8082 includes Two-factor enforcement concern8083 locale8084 sets user's locale8085get list of boards8086 for a project8087 behaves like group and project boards query8088 behaves like a working graphql query8089 returns a successful response8090 when the user does not have access to the board parent8091 returns nil8092 when no permission to read board8093 does not return any boards8094 when user can read the board parent8095 does not create a default board8096 sorting and pagination8097 when using default sorting8098 when ascending8099 behaves like sorted paginated query8100 behaves like requires variables8101 shared example requires variables to be set8103 when sorting8104 sorts correctly8105 when paginating8106 paginates correctly8107 when querying for a single board8108 finds the correct board8109 behaves like a working graphql query8110 returns a successful response8111 for a group8112 behaves like group and project boards query8113 behaves like a working graphql query8114 returns a successful response8115 when the user does not have access to the board parent8116 returns nil8117 when no permission to read board8118 does not return any boards8119 when user can read the board parent8120 does not create a default board8121 sorting and pagination8122 when using default sorting8123 when ascending8124 behaves like sorted paginated query8125 behaves like requires variables8126 shared example requires variables to be set8128 when sorting8129 sorts correctly8130 when paginating8131 paginates correctly8132 when querying for a single board8133 finds the correct board8134 behaves like a working graphql query8135 returns a successful response8136API::MergeRequestApprovals8137 GET :id/merge_requests/:merge_request_iid/approvals8138 retrieves the approval status8139 when merge request author has only guest access8140 behaves like rejects user from accessing merge request info8141 returns a 403 error8142 POST :id/merge_requests/:merge_request_iid/approve8143 as a valid approver8144 when the sha param is not set8145 approves the merge request8146 when the sha param is correct8147 approves the merge request8148 when the sha param is incorrect8149 does not approve the merge request8150 POST :id/merge_requests/:merge_request_iid/unapprove8151 as a user who has approved the merge request8152 unapproves the merge request8153 PUT :id/merge_requests/:merge_request_iid/reset_approvals8154 for a bot user8155 clears approvals of the merge_request8156 when bot user approved the merge request8157 clears approvals of the merge_request8158 for users with non-bot roles8159 returns 4018160 returns 4018161 returns 4018162 returns 4018163 for bot-users from external namespaces8164 for external group bot-user8165 returns 4018166 for external project bot-user8167 returns 4018168Git LFS File Locking API8169 Create File Lock endpoint8170 when user does not have download permission8171 returns a 404 response8172 when user does not have upload permission8173 returns a 403 response8174 with an existent lock8175 return an error message8176 returns the existen lock8177 without an existent lock8178 creates the lock8179 Listing File Locks endpoint8180 returns the list of locked files8181 when user does not have download permission8182 returns a 404 response8183 when user does not have upload permission8184 returns a 403 response8185 List File Locks for verification endpoint8186 returns the list of locked files grouped by owner8187 when user does not have download permission8188 returns a 404 response8189 when user does not have upload permission8190 returns a 403 response8191 Delete File Lock endpoint8192 when user does not have download permission8193 returns a 404 response8194 when user does not have upload permission8195 returns a 403 response8196 with an existent lock8197 deletes the lock8198 returns the deleted lock8199 when a maintainer uses force8200 deletes the lock8201merge requests actions8202 GET /:namespace/:project/-/merge_requests/:iid8203 as json8204 with caching8205 for sidebar_extras8206 when the request has not been cached8207 behaves like a non-cached request8208 serializes merge request8209 when the request has already been cached8210 does not serialize merge request again8211 when the merge request is updated8212 when the logged in user is different8213 behaves like a non-cached request8214 serializes merge request8215 when the assignee is changed8216 behaves like a non-cached request8217 serializes merge request8218 when the existing assignee gets updated8219 behaves like a non-cached request8220 serializes merge request8221 when the reviewer is changed8222 behaves like a non-cached request8223 serializes merge request8224 when the existing reviewer gets updated8225 behaves like a non-cached request8226 serializes merge request8227 when the time_estimate is changed8228 behaves like a non-cached request8229 serializes merge request8230 when the spend_time is changed8231 behaves like a non-cached request8232 serializes merge request8233 when a user leaves a note8234 behaves like a non-cached request8235 serializes merge request8236 for other serializer8237 does not use cache8238API::GroupVariables8239 GET /groups/:id/variables8240 authorized user with proper permissions8241 returns group variables8242 authorized user with invalid permissions8243 does not return group variables8244 unauthorized user8245 does not return group variables8246 GET /groups/:id/variables/:key8247 authorized user with proper permissions8248 returns group variable details8249 responds with 404 Not Found if requesting non-existing variable8250 authorized user with invalid permissions8251 does not return group variable details8252 unauthorized user8253 does not return group variable details8254 POST /groups/:id/variables8255 authorized user with proper permissions8256 when the group is below the plan limit for variables8257 creates variable8258 masks the new value when logging8259 creates variable with optional attributes8260 does not allow to duplicate variable key8261 when the group is at the plan limit for variables8262 returns a variable limit error8263 authorized user with invalid permissions8264 does not create variable8265 unauthorized user8266 does not create variable8267 PUT /groups/:id/variables/:key8268 authorized user with proper permissions8269 updates variable data8270 masks the new value when logging8271 responds with 404 Not Found if requesting non-existing variable8272 responds with 400 if the update fails8273 authorized user with invalid permissions8274 does not update variable8275 unauthorized user8276 does not update variable8277 DELETE /groups/:id/variables/:key8278 authorized user with proper permissions8279 deletes variable8280 responds with 404 Not Found if requesting non-existing variable8281 behaves like 412 response8282 for a modified resource8283 returns 412 with a JSON error8284 for an unmodified resource8285 returns 204 with an empty body8286 authorized user with invalid permissions8287 does not delete variable8288 unauthorized user8289 does not delete variable8290conan package details8291 has the correct metadata8292 has the correct file metadata8293 behaves like a package detail8294 behaves like a working graphql query8295 returns a successful response8296 behaves like matching the package details schema8297 matches the JSON schema8298 with pipelines8299 behaves like a working graphql query8300 returns a successful response8301 behaves like matching the package details schema8302 matches the JSON schema8303 behaves like a package with files8304 has the right amount of files8305 has the basic package files data8306 with package files pending destruction8307 does not return them8308DashboardController8309 token authentication8310 behaves like authenticates sessionless user for the request spec8311 issues atom8312 when the 'private_token' param is populated with the personal access token8313 when valid token8314 when resource is private8315 authenticates user and returns response with ok status8316 when user with expired password8317 does not return response with ok status8318 when password expiration is not applicable8319 when ldap user8320 authenticates user and returns response with ok status8321 when the personal access token has no api scope8322 when resource is private8323 does not return response with ok status8324 when invalid token8325 when resource is private8326 does not return response with ok status8327 when the 'PRIVATE-TOKEN' header is populated with the personal access token8328 when valid token8329 when resource is private8330 authenticates user and returns response with ok status8331 when user with expired password8332 does not return response with ok status8333 when password expiration is not applicable8334 when ldap user8335 authenticates user and returns response with ok status8336 when the personal access token has no api scope8337 when resource is private8338 does not return response with ok status8339 when invalid token8340 when resource is private8341 does not return response with ok status8342 when the 'feed_token' param is populated with the feed token8343 when valid token8344 when resource is private8345 authenticates user and returns response with ok status8346 when user with expired password8347 does not return response with ok status8348 when password expiration is not applicable8349 when ldap user8350 authenticates user and returns response with ok status8351 when invalid token8352 when resource is private8353 does not return response with ok status8354 behaves like authenticates sessionless user for the request spec8355 issues_calendar ics8356 when the 'private_token' param is populated with the personal access token8357 when valid token8358 when resource is private8359 authenticates user and returns response with ok status8360 when user with expired password8361 does not return response with ok status8362 when password expiration is not applicable8363 when ldap user8364 authenticates user and returns response with ok status8365 when the personal access token has no api scope8366 when resource is private8367 does not return response with ok status8368 when invalid token8369 when resource is private8370 does not return response with ok status8371 when the 'PRIVATE-TOKEN' header is populated with the personal access token8372 when valid token8373 when resource is private8374 authenticates user and returns response with ok status8375 when user with expired password8376 does not return response with ok status8377 when password expiration is not applicable8378 when ldap user8379 authenticates user and returns response with ok status8380 when the personal access token has no api scope8381 when resource is private8382 does not return response with ok status8383 when invalid token8384 when resource is private8385 does not return response with ok status8386 when the 'feed_token' param is populated with the feed token8387 when valid token8388 when resource is private8389 authenticates user and returns response with ok status8390 when user with expired password8391 does not return response with ok status8392 when password expiration is not applicable8393 when ldap user8394 authenticates user and returns response with ok status8395 when invalid token8396 when resource is private8397 does not return response with ok status8398 issues dashboard8399 behaves like rate limited endpoint8400 when rate limiter enabled8401 logs request and declines it when endpoint called more than the threshold8402 when rate limiter is disabled8403 does not log request and does not block the request8404 merge requests dashboard8405 behaves like rate limited endpoint8406 when rate limiter enabled8407 logs request and declines it when endpoint called more than the threshold8408 when rate limiter is disabled8409 does not log request and does not block the request8410Removing an AwardEmoji8411 when the current_user does not own the award emoji8412 behaves like a mutation that does not authorize the user8413 behaves like a mutation that does not destroy an AwardEmoji8414 is expected not to change `AwardEmoji.count`8415 behaves like a mutation that returns a top-level access error8416 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"8417 when the current_user owns the award emoji8418 when the given awardable is not an Awardable8419 behaves like a mutation that does not destroy an AwardEmoji8420 is expected not to change `AwardEmoji.count`8421 behaves like a mutation that returns top-level errors8422 is expected to include /was provided invalid value for awardableId/8423 when the given awardable is an Awardable8424 removes the emoji8425 returns no errors8426 returns an empty awardEmoji8427API::Clusters::AgentTokens8428 GET /projects/:id/cluster_agents/:agent_id/tokens8429 avoids N+1 queries8430 with authorized user8431 only returns active agent tokens8432 returns a not_found error if agent_id does not exist8433 with unauthorized user8434 cannot access agent tokens8435 GET /projects/:id/cluster_agents/:agent_id/tokens/:token_id8436 with authorized user8437 returns an agent token8438 returns a 404 if agent token is revoked8439 returns a 404 if agent does not exist8440 returns a 404 error if agent token id is not available8441 with unauthorized user8442 cannot access single agent token8443 cannot access token from agent of another project8444 POST /projects/:id/cluster_agents/:agent_id/tokens8445 creates a new agent token8446 returns a 400 error if name not given8447 returns 404 error if project does not exist8448 returns 404 error if agent does not exist8449 with unauthorized user8450 prevents to create agent token8451 when the active agent tokens limit is reached8452 returns a bad request (400) error8453 DELETE /projects/:id/cluster_agents/:agent_id/tokens/:token_id8454 revokes agent token8455 returns a success response when revoking an already revoked agent token8456 returns a 404 error when given agent_id does not exist8457 returns a 404 error when revoking non existent agent token8458 returns a 404 if the user is unauthorized to revoke8459 cannot revoke token from agent of another project8460uploading designs8461 returns an error if the user is not allowed to upload designs8462 succeeds, and responds with the created designs8463 can respond with skipped designs8464 when the input does not include a null value for each mapped file8465 returns an error8466 when the issue does not exist8467 returns an error8468 when saving the designs raises an error8469 responds with errors8470API::RemoteMirrors8471 GET /projects/:id/remote_mirrors8472 requires `admin_remote_mirror` permission8473 returns a list of remote mirrors8474 GET /projects/:id/remote_mirrors/:mirror_id8475 requires `admin_remote_mirror` permission8476 returns at remote mirror8477 POST /projects/:id/remote_mirrors8478 requires `admin_remote_mirror` permission8479 returns error if url is invalid8480 creates a remote mirror8481 disabled by default8482 behaves like creates a remote mirror8483 creates a remote mirror and returns reponse8484 enabled8485 behaves like creates a remote mirror8486 creates a remote mirror and returns reponse8487 PUT /projects/:id/remote_mirrors/:mirror_id8488 requires `admin_remote_mirror` permission8489 updates a remote mirror8490 DELETE /projects/:id/remote_mirrors/:mirror_id8491 requires `admin_remote_mirror` permission8492 when the user is a maintainer8493 returns 404 for non existing id8494 returns bad request if the update service fails8495 deletes a remote mirror8496Querying a Milestone8497 when we post the query8498 and the project is private8499 when the user is a direct project member8500 and the user is a guest8501 behaves like returns the milestone successfully8502 is expected to include {"title" => "My title 709"}8503 contains release information8504 behaves like a working graphql query8505 returns a successful response8506 when there are two milestones8507 returns the correct releases associated with each milestone8508 does not suffer from N+1 performance issues8509 when the user is an inherited member from the group8510 user: inherited_guest8511 behaves like returns the milestone successfully8512 is expected to include {"title" => "My title 709"}8513 contains release information8514 behaves like a working graphql query8515 returns a successful response8516 user: inherited_reporter8517 behaves like returns the milestone successfully8518 is expected to include {"title" => "My title 709"}8519 contains release information8520 behaves like a working graphql query8521 returns a successful response8522 user: inherited_developer8523 behaves like returns the milestone successfully8524 is expected to include {"title" => "My title 709"}8525 contains release information8526 behaves like a working graphql query8527 returns a successful response8528 when unauthenticated8529 is expected to be nil8530 behaves like a working graphql query8531 returns a successful response8532 when ID argument is missing8533 raises an exception8534Projects::Settings::IntegrationHookLogsController8535 GET #show8536 is expected to be successful8537 renders a 404 if the hook does not exist8538 POST #retry8539 executes the hook and redirects to the service form8540 renders a 404 if the hook does not exist8541Explore::SnippetsController8542 GET #index8543 renders8544 renders pagination8545 behaves like snippets views8546 when rendered8547 avoids N+1 database queries8548Admin::RunnersController8549 # order random8550 #register8551 when runner can be registered after creation8552 renders a :register template8553 when runner cannot be registered after creation8554 returns :not_found8555 #edit8556 shows a runner edit page8557 shows 404 for unknown runner8558 avoids N+1 queries8559 #index8560 renders index template8561 GET #runner_setup_scripts8562 renders the setup scripts8563 renders errors if they occur8564 #update8565 with update succeeding8566 updates the runner and ticks the queue8567 with update failing8568 does not update runner or tick the queue8569 #new8570 renders a :new template8571 #show8572 shows a runner show page8573Admin::TopicsController8574 GET #index8575 renders the template8576 as a normal user8577 renders a 404 error8578 GET #new8579 renders the template8580 as a normal user8581 renders a 404 error8582 GET #edit8583 renders the template8584 as a normal user8585 renders a 404 error8586 POST #create8587 creates topic8588 shows error message for invalid topic name8589 shows error message if topic name not unique (case insensitive)8590 shows error message for invalid topic title8591 redirects to the topics list8592 as a normal user8593 renders a 404 error8594 PUT #update8595 updates topic8596 shows error message for invalid topic8597 shows error message if topic not unique (case insensitive)8598 as a normal user8599 renders a 404 error8600 DELETE #destroy8601 removes topic8602 as a normal user8603 renders a 404 error8604 POST #merge8605 merges source topic into target topic8606 renders a 404 error for non-existing id8607 renders a 400 error for identical topic ids8608 as a normal user8609 renders a 404 error8610ConfirmEmailWarning8611 confirm email flash warning8612 when not signed in8613 is expected not to set confirm warning for "user1877@example.org"8614 when signed in8615 with a confirmed user8616 is expected not to set confirm warning for "user1878@example.org"8617 with an unconfirmed user8618 when executing a json request8619 is expected not to set confirm warning for "user1879@example.org"8620 when executing a post request8621 is expected not to set confirm warning for "user1880@example.org"8622 when executing a get request8623 with an unconfirmed email address present8624 is expected to set confirm warning for "unconfirmed@gitlab.com"8625 without an unconfirmed email address present8626 is expected to set confirm warning for "user1882@example.org"8627 when user is being impersonated8628 is expected to set confirm warning for "user1883@example.org"8629 when impersonated user email has html in their email8630 is expected to set confirm warning for "malicious@test.com<form><input/title='<script>alert(document.domain)</script>'>"8631 when user is not being impersonated8632 is expected to set confirm warning for "user1887@example.org"8633 when user email has html in their email8634 is expected to set confirm warning for "malicious@test.com<form><input/title='<script>alert(document.domain)</script>'>"8635AbuseReportMailer8636 .notify8637 behaves like appearance header and footer enabled8638 contains header and footer8639 behaves like appearance header and footer not enabled8640 does not contain header and footer8641 with abuse_notification_email set8642 sends to the abuse_notification_email8643 includes the user in the subject8644 with no abuse_notification_email set8645 returns early8646API::Templates8647 the Template Entity8648 is expected to eq "Ruby"8649 is expected to include "*.gem"8650 the TemplateList Entity8651 is expected not to be nil8652 is expected to be nil8653 requesting gitignores8654 returns a list of available gitignore templates8655 requesting gitlab-ci-ymls8656 returns a list of available gitlab_ci_ymls8657 requesting gitlab-ci-yml for Ruby8658 adds a disclaimer on the top8659 the License Template Entity8660 returns a license template8661 GET templates/licenses8662 returns a list of available license templates8663 the popular parameter8664 with popular=18665 returns a list of available popular license templates8666 GET templates/licenses/:name8667 with :project and :fullname given8668 for the mit license8669 returns the license text8670 replaces placeholder values8671 for the agpl-3.0 license8672 returns the license text8673 replaces placeholder values8674 for the gpl-3.0 license8675 returns the license text8676 replaces placeholder values8677 for the gpl-2.0 license8678 returns the license text8679 replaces placeholder values8680 for the apache-2.0 license8681 returns the license text8682 replaces placeholder values8683 for an uknown license8684 returns a 4048685 with no :fullname given8686 with an authenticated user8687 replaces the copyright owner placeholder with the name of the current user8688query Jira projects8689 when user does not have access8690 behaves like unauthorized users cannot read services8691 when anonymous user8692 is expected to equal nil8693 when user developer8694 is expected to equal nil8695 when user can access project services8696 retuns list of jira projects8697 behaves like a working graphql query8698 returns a successful response8699 with pagination8700 when fetching limited number of projects8701 without cursor8702 behaves like fetches first project8703 retuns first project from list of fetched projects8704Remove items linked to a work item8705 # order random8706 when the user is not allowed to read the work item8707 behaves like a mutation that returns a top-level access error8708 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"8709 when user has permissions to read the work item8710 unlinks the work items8711 when some items fail8712 remove valid item and include failing ids in response message8713 when there are more than the max allowed items to unlink8714 returns an error message8715 when workItemsIds is empty8716 behaves like a mutation that returns top-level errors8717 is expected to contain exactly "workItemsIds cannot be empty"8718 when `linked_work_items` feature flag is disabled8719 behaves like a mutation that returns a top-level access error8720 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"8721PipelineTriggerDelete8722 # order random8723 when unauthorized8724 behaves like a mutation on an unauthorized resource8725 behaves like a mutation that returns top-level errors8726 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"8727 when authorized8728 when the id is invalid8729 does not delete a pipeline trigger token8730 behaves like an invalid argument to the mutation8731 behaves like a mutation that returns top-level errors8732 is expected to contain exactly (include "invalid value for id")8733 when the id is nil8734 does not delete a pipeline trigger token8735 behaves like an invalid argument to the mutation8736 behaves like a mutation that returns top-level errors8737 is expected to contain exactly (include "invalid value for id")8738 when the params are valid8739 deletes the pipeline trigger token8740 behaves like a working GraphQL mutation8741 with a personal access token8742 behaves like prevents access to the mutation8743 does not resolve the mutation8744 behaves like allows access to the mutation8745 behaves like a working graphql query that returns data8746 contains data8747 behaves like a working graphql query8748 returns a successful response8749 with an OAuth token8750 behaves like prevents access to the mutation8751 does not resolve the mutation8752 behaves like allows access to the mutation8753 behaves like a working graphql query that returns data8754 contains data8755 behaves like a working graphql query8756 returns a successful response8757Deletion of custom emoji8758 when the user8759 has no permissions8760 behaves like does not delete custom emoji8761 does not change count8762 when the user is developer and not creator of custom emoji8763 behaves like does not delete custom emoji8764 does not change count8765 when user8766 is maintainer8767 behaves like deletes custom emoji8768 changes count8769 is owner8770 behaves like deletes custom emoji8771 changes count8772 is developer and creator of the emoji8773 behaves like deletes custom emoji8774 changes count8775 when the custom_emoji feature flag is disabled8776 returns an error8777 behaves like does not delete custom emoji8778 does not change count8779Query current user todos8780 contains the expected ids8781 returns Todos for all target types8782 behaves like a working graphql query that returns data8783 contains data8784 behaves like a working graphql query8785 returns a successful response8786InternalRedirect8787 #safe_redirect_path8788 input: "Hello world" being invalid8789 returns nil8790 input: "//example.com/hello/world" being invalid8791 returns nil8792 input: "https://example.com/hello/world" being invalid8793 returns nil8794 input: "not-starting-with-a-slash\n/starting/with/slash" being invalid8795 returns nil8796 input: "/hello/world" being valid8797 returns the path8798 returns the path with querystring and fragment8799 input: "/-/ide/project/path" being valid8800 returns the path8801 returns the path with querystring and fragment8802 #safe_redirect_path_for_url8803 input: "Hello world" being invalid8804 returns nil8805 input: "http://example.com/hello/world" being invalid8806 returns nil8807 input: "http://test.host:3000/hello/world" being invalid8808 returns nil8809 input: "http://test.host/hello/world" being on the same host8810 returns the path8811 returns the path with querystring and fragment8812 #sanitize_redirect8813 returns `nil` for invalid paths8814 returns `nil` for invalid urls8815 returns input for valid paths8816 returns path for valid urls8817 #host_allowed?8818 allows URI with the same host and port8819 rejects URI with other host8820 rejects URI with other port8821rendering namespace statistics8822 behaves like a working namespace with storage statistics query8823 includes the packages size if the user can read the statistics8824 includes uploads size if the user can read the statistics8825 behaves like a working graphql query8826 returns a successful response8827 when the namespace is a group8828 behaves like a working namespace with storage statistics query8829 includes the packages size if the user can read the statistics8830 includes uploads size if the user can read the statistics8831 behaves like a working graphql query8832 returns a successful response8833 when the namespace is public8834 hides statistics for unauthenticated requests8835JobRetry8836 # order random8837 returns an error if the user is not allowed to retry the job8838 when the job is a Ci::Bridge8839 retries the bridge8840 when the job is a Ci::Build8841 retries the build8842 when given CI variables8843 applies them to a retried manual job8844 when the job is not retryable8845 returns an error8846Projects::Aws::ConfigurationController8847 # order random8848 when accessed by unauthorized members8849 returns not found on GET request8850 when accessed by authorized members8851 returns successful8852 when feature flag is disabled8853 renders not found8854Admin::UsersController8855 # order random8856 PUT #block8857 when request format is :json8858 when user was blocked8859 returns 200 and json data with notice8860 when user was not blocked8861 returns 200 and json data with error8862 PUT #untrust8863 trusts the user8864 when untrusting fails8865 displays a flash alert8866 PATCH #update8867 when admin changes user email8868 allows change user email8869 does not email the user with confirmation_instructions8870 PUT #trust8871 trusts the user8872 when setting trust fails8873 displays a flash alert8874 PUT #unlock8875 unlocks the user8876rendering project statistics8877 includes the packages size if the user can read the statistics8878 includes uploads size if the user can read the statistics8879 behaves like a working graphql query8880 returns a successful response8881 when the project is public8882 hides statistics for unauthenticated requests8883Getting Grafana Integration8884 with grafana integration data8885 without project admin permissions8886 is expected to equal nil8887 behaves like a working graphql query8888 returns a successful response8889 with project admin permissions8890 is expected to eql "https://grafana.example.com"8891 is expected to eql "2023-10-20T08:54:05Z"8892 is expected to eql "2023-10-20T08:54:05Z"8893 behaves like a working graphql query8894 returns a successful response8895Projects::Ml::ModelVersionsController8896 # order random8897 show8898 renders the template8899 fetches the correct model_version8900 when version id does not exist8901 is expected to respond with numeric status code not_found8902 when version and model id are correct but project is not8903 is expected to respond with numeric status code not_found8904 when user does not have access8905 is expected to respond with numeric status code not_found8906API::APIGuard::ResponseCoercerMiddleware8907 is loaded8908 #call8909 returns a String body8910 returns a String body8911 returns a String body8912 returns a String body8913 allows nil body8914 allows nil body8915 allows nil body8916getting Alert Management Alert counts by status8917 with alert data8918 without project permissions8919 is expected to equal nil8920 behaves like a working graphql query8921 returns a successful response8922 with project permissions8923 returns the correct counts for each status8924 behaves like a working graphql query8925 returns a successful response8926 with search criteria8927 returns the correct counts for each status8928 behaves like a working graphql query8929 returns a successful response8930Mutations::Achievements::Create8931 # order random8932 when the user does not have permission8933 does not create an achievement8934 behaves like a mutation that returns a top-level access error8935 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"8936 when the user has permission8937 creates an achievement8938 returns the new achievement8939 when the params are invalid8940 returns the validation error8941Updating an incident timeline event8942 # order random8943 updates the timeline event8944 when note is more than 280 characters long8945 behaves like timeline event mutation responds with validation error8946 responds with a validation error8947 when timeline event tag names are passed8948 when tags exist8949 removes tag1 and adds tag28950 when tags do not exist8951 behaves like timeline event mutation responds with validation error8952 responds with a validation error8953Projects::Analytics::CycleAnalytics::SummaryController8954 GET "show"8955 succeeds8956 when analytics_disabled features are disabled8957 renders 4048958 when user is not part of the project8959 renders 4048960 when filters are applied8961 filters by author username8962 filters by milestone title8963API::GroupAvatar8964 GET /groups/:id/avatar8965 when the group is public8966 retrieves the avatar successfully8967 when the avatar is in the object storage8968 redirects to the file in the object storage8969 when the group does not have avatar8970 returns :not_found8971 when the group is a subgroup8972 returns :ok8973 when the group is private8974 when the user is not authenticated8975 returns :not_found8976 when the the group user is authenticated8977 and have access to the group8978 retrieves the avatar successfully8979 and does not have access to the group8980 returns :not_found8981API::Admin::Sidekiq8982 DELETE /admin/sidekiq/queues/:queue_name8983 when the user is an admin8984 valid request8985 returns info about the deleted jobs8986 behaves like DELETE request permissions for admin mode8987 behaves like when admin8988 behaves like makes request8989 returns8990 behaves like makes request8991 returns8992 behaves like when user8993 returns8994 behaves like makes request8995 returns8996 when no required params are provided8997 returns a 4008998 when the queue does not exist8999 returns a 4049000Admin::CohortsController9001 GET #index9002 behaves like tracking unique visits9003 tracks unique visit if the format is HTML9004 tracks unique visit if DNT is not enabled9005 does not track unique visit if DNT is enabled9006 does not track unique visit if the format is JSON9007 behaves like Snowplow event tracking with RedisHLL context9008 behaves like Snowplow event tracking9009 is emitted9010accepting a merge request9011 when the user is not allowed to accept a merge request9012 behaves like a mutation that returns a top-level access error9013 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"9014 when user has permissions to create a merge request9015 merges the merge request asynchronously9016JobPlay9017 # order random9018 plays a job9019 returns an error if the user is not allowed to play the job9020 when given variables9021 provides those variables to the job9022getting a detailed sentry error9023 behaves like a working graphql query9024 returns a successful response9025 when data is loading via reactive cache9026 is expected to return an empty error9027 reactive cache returns data9028 is expected to return a valid error9029 is expected to return the frequency correctly9030query terraform states9031 returns terraform state data9032 returns count of terraform states9033 unauthorized users9034 is expected to be nil9035Updating the dependency proxy group settings9036 post graphql mutation9037 without permission9038 returns no response9039 with permission9040 for owner9041 returns the updated dependency proxy settings9042 for maintainer9043 returns the updated dependency proxy settings9044Create a todo9045 the user is not allowed to create todo9046 behaves like a mutation that returns a top-level access error9047 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"9048 when user has permissions to create todo9049 creates todo9050Creation of a new release asset link9051 creates and returns a new asset link associated to the provided release9052getting group recent issue boards9053 behaves like querying a GraphQL type recent boards9054 Get list of recently visited boards9055 when the request is correct9056 returns recent boards for user successfully9057 behaves like a working graphql query9058 returns a successful response9059 when requests has errors9060 when there are no recently visited boards9061 returns empty result9062UsageTrendsMeasurements9063 returns measurement objects9064 with recorded_at filters9065 returns filtered measurement objects9066Projects::TerraformController9067 GET index9068 when user is authorized9069 renders content9070 when user is unauthorized9071 shows 4049072 when no user is present9073 shows 4049074Deletes a release asset link9075 deletes the release asset link and returns the deleted link9076Profiles::WebauthnRegistrationsController9077 #destroy9078 redirects to the profile two factor authentication page9079 destroys the webauthn registration9080 calls the Webauthn::DestroyService9081EmailRejectionMailer9082 #rejection9083 behaves like appearance header and footer enabled9084 contains header and footer9085 behaves like appearance header and footer not enabled9086 does not contain header and footer9087JiraConnect::PublicKeysController9088 # order random9089 GET /-/jira_connect/public_keys/:uuid9090 renders 4049091 when public key exists9092 renders 2009093 when public key storage setting disabled9094 renders 4049095Emails::Imports9096 # order random9097 #github_gists_import_errors_email9098 sends success email9099 behaves like appearance header and footer enabled9100 contains header and footer9101 behaves like appearance header and footer not enabled9102 does not contain header and footer9103AcmeChallengesController9104 # order random9105 behaves like Base action controller9106 security headers9107 Cross-Origin-Opener-Policy9108 sets the header9109 when coop_header feature flag is disabled9110 does not set the header9111auto_explain log contains 1592 entries for main, writing to /builds/gitlab-org/gitlab/auto_explain/rspec-integration-pg14-as-if-foss-single-db-ci-connection-7-12.328.main.ndjson.gz9112took 28.8666546659113auto_explain log contains 1593 entries for ci, writing to /builds/gitlab-org/gitlab/auto_explain/rspec-integration-pg14-as-if-foss-single-db-ci-connection-7-12.328.ci.ndjson.gz9114took 28.2501907279115Finished in 26 minutes 19 seconds (files took 52.22 seconds to load)91163708 examples, 0 failures9117Randomized with seed 303619118[TEST PROF INFO] Time spent in factories: 07:52.982 (29.51% of total time)9119RSpec exited with 0.9120No examples to retry, congrats!9122Running after script...9123$ echo -e "\e[0Ksection_start:`date +%s`:report_results_section[collapsed=true]\r\e[0KReport results"9127$ tooling/bin/push_job_metrics || true9128[job-metrics] Pushing job metrics file for the CI/CD job.9129[job-metrics] Pushed 4 CI job metric entries to InfluxDB.9131Not uploading cache ruby-gems-debian-bullseye-ruby-3.0-16 due to policy9133Uploading artifacts...9134auto_explain/: found 3 matching artifact files and directories 9135coverage/: found 5 matching artifact files and directories 9136crystalball/: found 2 matching artifact files and directories 9137deprecations/: found 4 matching artifact files and directories 9138knapsack/: found 4 matching artifact files and directories 9139rspec/: found 14 matching artifact files and directories 9140WARNING: tmp/capybara/: no matching files. Ensure that the artifact path is relative to the working directory (/builds/gitlab-org/gitlab) 9141log/*.log: found 15 matching artifact files and directories 9142WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/5336651609/artifacts?artifact_format=zip&artifact_type=archive&expire_in=31d new-url=https://gitlab.com9143WARNING: Retrying... context=artifacts-uploader error=request redirected9144Uploading artifacts as "archive" to coordinator... 201 Created id=5336651609 responseStatus=201 Created token=64_vBL1u9145Uploading artifacts...9146rspec/rspec-*.xml: found 1 matching artifact files and directories 9147WARNING: Upload request redirected location=https://gitlab.com/api/v4/jobs/5336651609/artifacts?artifact_format=gzip&artifact_type=junit&expire_in=31d new-url=https://gitlab.com9148WARNING: Retrying... context=artifacts-uploader error=request redirected9149Uploading artifacts as "junit" to coordinator... 201 Created id=5336651609 responseStatus=201 Created token=64_vBL1u9151Job succeeded