def test_query_data_package_get_datasets(self): models = [CanCM4TestDataset,MaurerTas,MaurerTasmax] with db.session_scope() as session: for m in models: m().insert(session) dataset = session.query(db.Dataset).filter_by(name='Maurer 2010').one() category = session.query(db.DatasetCategory).filter_by(name='Observational').one() fields = [c.field[0] for c in dataset.container] dp = db.DataPackage(field=fields,name='Test Package',description='For testing! Duh...',dataset_category=category) session.add(dp) dataset = session.query(db.Dataset).filter_by(name='Maurer 2010').one() category = session.query(db.DatasetCategory).filter_by(name='GCMs').one() fields = [c.field[0] for c in dataset.container] dp = db.DataPackage(field=fields,name='Test Package GCMs',description='For testing! Duh...',dataset_category=category) session.add(dp) session.commit() dq = DataQuery() ret = dq.get_package_datasets(package_name='Test Package') rds = [ocgis.RequestDataset(**k) for k in ret['dataset']] for rd in rds: rd.inspect_as_dct() with self.assertRaises(MultipleResultsFound): dq.get_package_datasets()
def test_package(self): dq = DataQuery(db_path=self._db_path) ret = dq.get_package() self.assertDictEqual(ret,{'dataset_category': [u'Downscaled', u'Gridded Observational'], 'package_name': [u'Hayhoe GFDL', u'Maurer 2010']})
def test_variable(self): dq = DataQuery(db_path=self._db_path) ret = dq.get_variable_or_index('variable') self.assertDictEqual(ret,{'long_name': [u'Air Temperature', u'Daily Precipitation Rate', u'Maximum Air Temperature', u'Minimum Air Temperature'], 'time_frequency': [u'Day'], 'dataset_category': [u'Downscaled', u'Gridded Observational'], 'dataset': [u'Hayhoe ARRM-GFDL', u'Maurer 2010']})