import json import pytest from fatcat.manifest_importer import FatcatManifestImporter @pytest.fixture(scope="function") def manifest_importer(): yield FatcatManifestImporter("http://localhost:9411/v0") # TODO: use API to check that entities actually created... #def test_manifest_importer_batch(manifest_importer): # with open('tests/files/0000-0001-8254-7103.json', 'r') as f: # manifest_importer.process_batch(f) #def test_manifest_importer(manifest_importer): # with open('tests/files/0000-0001-8254-7103.json', 'r') as f: # manifest_importer.process_source(f) def test_manifest_row_parse(manifest_importer): # (sha1, mimetype, size_bytes, md5, doi, url, datetime) = row c = manifest_importer.parse_manifest_row( (None, None, None, None, None, None, None)) assert c == None c = manifest_importer.parse_manifest_row( ("7d97e98f8af710c7e7fe703abc8f639e0ee507c4", "application/pdf", "12345", "8af710c7e7fe703abc8f639e0ee507c4", "10.1234/asdf", "https://example.com/thing.pdf", "200001010000")) assert c.sha1 == "7d97e98f8af710c7e7fe703abc8f639e0ee507c4" assert c.mimetype == "application/pdf" assert c.urls[0].url == "https://example.com/thing.pdf" assert c.urls[0].rel == "web" assert c.urls[1].url == "https://web.archive.org/web/200001010000/https://example.com/thing.pdf" assert c.urls[1].rel == "webarchive"