This repository has been archived on 2026-05-18. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
mercy/tests/importers/test_fda_importer.py

57 lines
1.3 KiB
Python

import os
import nose
from nose.tools import raises
import mercy.models
import mercy.importers.fda
import mercy.exceptions
VALID_ROWS=[]
FIXTUREFILE=os.path.abspath(
os.path.join(
__file__,
"..",
"fixtures",
"fda_database.tar.gz"
)
)
FIXTUREFILE_BAD=os.path.abspath(
os.path.join(
__file__,
"..",
"fixtures",
"fda_database_bad.tar.gz"
)
)
FIXTUREFILE_CORRUPT=os.path.abspath(
os.path.join(
__file__,
"..",
"fixtures",
"fda_database_corrupt.tar.gz"
)
)
@raises(mercy.exceptions.CorruptTarError)
def test_fda_import_fails_on_corrupt_tar():
importer = mercy.importers.fda.FDAImporter()
impoter.read(FIXTUREFILE_CORRUPT)
def test_fda_import_populates_table():
importer = FDAImporter().read(FIXTUREFILE)
rows = mercy.models.fda.Product.query.all()
for i in range(0, len(rows)):
row = rows[i]
canned_row = CANNED_ROWS[i]
assert(len(row) == len(canned_row))
for j in canned_row.keys():
assert(row[j] == canned_row[j])
@raises(AttributeError, KeyError, ValueError)
def test_fda_import_rejects_bad_records:
importer = mercy.importers.fda.FDAImporter()
importer.read(FIXTUREFILE_BAD)