Fix tests

This commit is contained in:
Timmy Welch 2024-02-24 18:30:41 -08:00
parent 938f760a37
commit bad8b85874
2 changed files with 25 additions and 39 deletions

View File

@ -78,33 +78,17 @@ metadata = [
metadata_keys = [
(
comicapi.genericmetadata.GenericMetadata(),
comicapi.genericmetadata.md_test,
{
"issue_count": 6,
"issue_number": "1",
"month": 10,
"series": "Cory Doctorow's Futuristic Tales of the Here and Now",
"year": 2007,
},
),
(
comicapi.genericmetadata.GenericMetadata(series="test"),
{
"issue_count": 6,
"issue_number": "1",
"month": 10,
"series": "test",
"year": 2007,
},
),
(
comicapi.genericmetadata.GenericMetadata(series="test", issue="3"),
{
"issue_count": 6,
"issue_number": "3",
"month": 10,
"series": "test",
"year": 2007,
"alternate_count": 7,
"alternate_number": "2",
"imprint": "craphound.com",
"publisher": "IDW Publishing",
},
),
]

View File

@ -5,6 +5,7 @@ import io
import pytest
from PIL import Image
import comictaggerlib.imagehasher
import comictaggerlib.issueidentifier
import testing.comicdata
import testing.comicvine
@ -13,12 +14,16 @@ from comictaggerlib.resulttypes import IssueResult
def test_crop(cbz_double_cover, config, tmp_path, comicvine_api):
config, definitions = config
ii = comictaggerlib.issueidentifier.IssueIdentifier(cbz_double_cover, config, comicvine_api)
cropped = ii.crop_double_page(cbz_double_cover.archiver.read_file("double_cover.jpg"))
original_cover = cbz_double_cover.get_page(0)
original_hash = ii.calculate_hash(original_cover)
cropped_hash = ii.calculate_hash(cropped)
ii = comictaggerlib.issueidentifier.IssueIdentifier(cbz_double_cover, config, comicvine_api)
im = Image.open(io.BytesIO(cbz_double_cover.archiver.read_file("double_cover.jpg")))
cropped = ii._crop_double_page(im)
original = cbz_double_cover.get_page(0)
original_hash = comictaggerlib.imagehasher.ImageHasher(data=original).average_hash()
cropped_hash = comictaggerlib.imagehasher.ImageHasher(image=cropped).average_hash()
assert original_hash == cropped_hash
@ -27,23 +32,24 @@ def test_crop(cbz_double_cover, config, tmp_path, comicvine_api):
def test_get_search_keys(cbz, config, additional_md, expected, comicvine_api):
config, definitions = config
ii = comictaggerlib.issueidentifier.IssueIdentifier(cbz, config, comicvine_api)
ii.set_additional_metadata(additional_md)
assert expected == ii.get_search_keys()
assert expected == ii._get_search_keys(additional_md)
def test_get_issue_cover_match_score(cbz, config, comicvine_api):
config, definitions = config
ii = comictaggerlib.issueidentifier.IssueIdentifier(cbz, config, comicvine_api)
score = ii.get_issue_cover_match_score(
score = ii._get_issue_cover_match_score(
"https://comicvine.gamespot.com/a/uploads/scale_large/0/574/585444-109004_20080707014047_large.jpg",
["https://comicvine.gamespot.com/cory-doctorows-futuristic-tales-of-the-here-and-no/4000-140529/"],
[ii.calculate_hash(cbz.get_page(0))],
[("Cover 1", ii.calculate_hash(cbz.get_page(0)))],
)
expected = {
"remote_hash": 212201432349720,
"score": 0,
"url": "https://comicvine.gamespot.com/a/uploads/scale_large/0/574/585444-109004_20080707014047_large.jpg",
"local_hash": 212201432349720,
"local_hash_name": "Cover 1",
}
assert expected == score
@ -80,14 +86,10 @@ def test_crop_border(cbz, config, comicvine_api):
bg = Image.new("RGBA", (100, 100), (0, 0, 0, 255))
fg = Image.new("RGBA", (50, 50), (255, 255, 255, 255))
bg.paste(fg, (bg.width // 2 - (fg.width // 2), bg.height // 2 - (fg.height // 2)))
output = io.BytesIO()
bg.save(output, format="PNG")
image_data = output.getvalue()
output.close()
cropped = ii.crop_border(image_data, 49)
cropped = ii._crop_border(bg, 49)
im = Image.open(io.BytesIO(cropped))
assert im.width == fg.width
assert im.height == fg.height
assert list(im.getdata()) == list(fg.getdata())
assert cropped
assert cropped.width == fg.width
assert cropped.height == fg.height
assert list(cropped.getdata()) == list(fg.getdata())