wordfreq/tests/test_build.py

35 lines
1011 B
Python
Raw Normal View History

from nose.tools import eq_
2013-10-29 21:21:55 +00:00
from wordfreq.build import load_all_data
from wordfreq.query import wordlist_info
2013-10-29 21:21:55 +00:00
from wordfreq.transfer import download_and_extract_raw_data
from wordfreq import config
import os
import tempfile
import shutil
import sqlite3
def flatten_list_of_dicts(list_of_dicts):
things = [sorted(d.items()) for d in list_of_dicts]
return sorted(things)
2013-10-29 21:21:55 +00:00
def test_build():
"""
Ensure that the build process builds the same DB that gets distributed.
"""
if not os.path.exists(config.RAW_DATA_DIR):
download_and_extract_raw_data()
tempdir = tempfile.mkdtemp('.wordfreq')
try:
db_file = os.path.join(tempdir, 'test.db')
load_all_data(config.RAW_DATA_DIR, db_file)
conn = sqlite3.connect(db_file)
2013-10-29 21:21:55 +00:00
# Compare the information we got to the information in the default DB.
eq_(flatten_list_of_dicts(wordlist_info(conn)),
flatten_list_of_dicts(wordlist_info(None)))
2013-10-29 21:21:55 +00:00
finally:
shutil.rmtree(tempdir)