Working on #1 - FDA import process works. 3 hours for first import, 1.25 hours on subsequent updates.

This commit is contained in:
2013-10-27 18:33:30 -04:00
parent e2bc602264
commit e0232aa02d
13 changed files with 575 additions and 71 deletions

View File

@@ -0,0 +1,56 @@
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)