26 lines
1.2 KiB
Python
26 lines
1.2 KiB
Python
from kindle_zotero_importer.overrides import load_overrides, OverrideError
|
|
|
|
def test_ignore_only():
|
|
payload = {"format":"kindle-zotero-importer.match-overrides.v1","overrides":[{"clipping_title":"A","resolution":{"ignore":True},"review":{}}]}
|
|
assert load_overrides(payload)["A"] == {"ignore": True}
|
|
|
|
def test_ignore_with_other_fails():
|
|
payload = {"format":"kindle-zotero-importer.match-overrides.v1","overrides":[{"clipping_title":"A","resolution":{"ignore":True,"citation_key":"foo"},"review":{}}]}
|
|
try:
|
|
load_overrides(payload)
|
|
assert False, "should have raised"
|
|
except OverrideError:
|
|
pass
|
|
|
|
def test_single_field_ok():
|
|
for res in [{"citation_key":"foo"},{"zotero_key":"ABC12345"},{"zotero_item_id":12}]:
|
|
payload = {"format":"kindle-zotero-importer.match-overrides.v1","overrides":[{"clipping_title":"A","resolution":res,"review":{}}]}
|
|
assert "A" in load_overrides(payload)
|
|
|
|
def test_multi_field_fails():
|
|
payload = {"format":"kindle-zotero-importer.match-overrides.v1","overrides":[{"clipping_title":"A","resolution":{"citation_key":"a","zotero_key":"b"},"review":{}}]}
|
|
try:
|
|
load_overrides(payload)
|
|
assert False
|
|
except OverrideError:
|
|
pass
|