""" RHEAS dataset testing suite.
:synopsis: Unit tests for RHEAS dataset download
.. moduleauthor:: Kostas Andreadis <kandread@jpl.nasa.gov>
"""
import unittest
import rpath
import dbio
import datasets
import tests.database
from datetime import datetime
[docs]class testDatasets(unittest.TestCase):
@classmethod
[docs] def setUpClass(cls):
dbname = "testdb"
tests.database.createDatabase(dbname)
[docs] def setUp(self):
self.dbname = "testdb"
configfile = "{0}/tests/data.conf".format(rpath.data)
conf = datasets.readDatasetList(configfile)
bbox = map(lambda s: conf.getfloat('domain', s), [
'minlon', 'minlat', 'maxlon', 'maxlat'])
for name in ["chirps", "ncep", "smos", "trmm"]:
mod = __import__("datasets.{0}".format(name), fromlist=[name])
t0 = datetime.strptime(conf.get(name, 'startdate'), "%Y-%m-%d")
t1 = datetime.strptime(conf.get(name, 'enddate'), "%Y-%m-%d")
mod.download(self.dbname, (t0, t1), bbox)
[docs] def testTable(self):
db = dbio.connect(self.dbname)
cur = db.cursor()
cur.execute("select * from information_schema.tables where table_name='chirps' and table_schema='precip'")
assert bool(cur.rowcount) is True
@classmethod
[docs] def tearDownClass(cls):
dbname = "testdb"
tests.database.dropDatabase(dbname)