@@ -486,14 +486,31 @@ def test_parse_links_json() -> None:
486
486
"requires-python" : ">=3.7" ,
487
487
"dist-info-metadata" : False ,
488
488
},
489
- # Same as above, but parsing dist-info-metadata.
489
+ # Same as above, but parsing core-metadata.
490
+ {
491
+ "filename" : "holygrail-1.0-py3-none-any.whl" ,
492
+ "url" : "/files/holygrail-1.0-py3-none-any.whl" ,
493
+ "hashes" : {"sha256" : "sha256 hash" , "blake2b" : "blake2b hash" },
494
+ "requires-python" : ">=3.7" ,
495
+ "core-metadata" : {"sha512" : "aabdd41" },
496
+ },
497
+ # Ensure fallback to dist-info-metadata works
490
498
{
491
499
"filename" : "holygrail-1.0-py3-none-any.whl" ,
492
500
"url" : "/files/holygrail-1.0-py3-none-any.whl" ,
493
501
"hashes" : {"sha256" : "sha256 hash" , "blake2b" : "blake2b hash" },
494
502
"requires-python" : ">=3.7" ,
495
503
"dist-info-metadata" : {"sha512" : "aabdd41" },
496
504
},
505
+ # Ensure that core-metadata gets priority.
506
+ {
507
+ "filename" : "holygrail-1.0-py3-none-any.whl" ,
508
+ "url" : "/files/holygrail-1.0-py3-none-any.whl" ,
509
+ "hashes" : {"sha256" : "sha256 hash" , "blake2b" : "blake2b hash" },
510
+ "requires-python" : ">=3.7" ,
511
+ "core-metadata" : {"sha512" : "aabdd41" },
512
+ "dist-info-metadata" : {"sha512" : "this_is_wrong" },
513
+ },
497
514
],
498
515
}
499
516
).encode ("utf8" )
@@ -530,6 +547,22 @@ def test_parse_links_json() -> None:
530
547
hashes = {"sha256" : "sha256 hash" , "blake2b" : "blake2b hash" },
531
548
metadata_file_data = MetadataFile ({"sha512" : "aabdd41" }),
532
549
),
550
+ Link (
551
+ "https://example.com/files/holygrail-1.0-py3-none-any.whl" ,
552
+ comes_from = page .url ,
553
+ requires_python = ">=3.7" ,
554
+ yanked_reason = None ,
555
+ hashes = {"sha256" : "sha256 hash" , "blake2b" : "blake2b hash" },
556
+ metadata_file_data = MetadataFile ({"sha512" : "aabdd41" }),
557
+ ),
558
+ Link (
559
+ "https://example.com/files/holygrail-1.0-py3-none-any.whl" ,
560
+ comes_from = page .url ,
561
+ requires_python = ">=3.7" ,
562
+ yanked_reason = None ,
563
+ hashes = {"sha256" : "sha256 hash" , "blake2b" : "blake2b hash" },
564
+ metadata_file_data = MetadataFile ({"sha512" : "aabdd41" }),
565
+ ),
533
566
]
534
567
535
568
# Ensure the metadata info can be parsed into the correct link.
@@ -586,22 +619,34 @@ def test_parse_links__yanked_reason(anchor_html: str, expected: Optional[str]) -
586
619
),
587
620
# Test with value "true".
588
621
(
589
- '<a href="/pkg1-1.0.tar.gz" data-dist-info -metadata="true"></a>' ,
622
+ '<a href="/pkg1-1.0.tar.gz" data-core -metadata="true"></a>' ,
590
623
MetadataFile (None ),
591
624
{},
592
625
),
593
626
# Test with a provided hash value.
594
627
(
595
- '<a href="/pkg1-1.0.tar.gz" data-dist-info -metadata="sha256=aa113592bbe"></a>' , # noqa: E501
628
+ '<a href="/pkg1-1.0.tar.gz" data-core -metadata="sha256=aa113592bbe"></a>' , # noqa: E501
596
629
MetadataFile ({"sha256" : "aa113592bbe" }),
597
630
{},
598
631
),
599
632
# Test with a provided hash value for both the requirement as well as metadata.
600
633
(
601
- '<a href="/pkg1-1.0.tar.gz#sha512=abc132409cb" data-dist-info -metadata="sha256=aa113592bbe"></a>' , # noqa: E501
634
+ '<a href="/pkg1-1.0.tar.gz#sha512=abc132409cb" data-core -metadata="sha256=aa113592bbe"></a>' , # noqa: E501
602
635
MetadataFile ({"sha256" : "aa113592bbe" }),
603
636
{"sha512" : "abc132409cb" },
604
637
),
638
+ # Ensure the fallback to the old name works.
639
+ (
640
+ '<a href="/pkg1-1.0.tar.gz" data-dist-info-metadata="sha256=aa113592bbe"></a>' , # noqa: E501
641
+ MetadataFile ({"sha256" : "aa113592bbe" }),
642
+ {},
643
+ ),
644
+ # Ensure that the data-core-metadata name gets priority.
645
+ (
646
+ '<a href="/pkg1-1.0.tar.gz" data-core-metadata="sha256=aa113592bbe" data-dist-info-metadata="sha256=invalid_value"></a>' , # noqa: E501
647
+ MetadataFile ({"sha256" : "aa113592bbe" }),
648
+ {},
649
+ ),
605
650
],
606
651
)
607
652
def test_parse_links__metadata_file_data (
0 commit comments