Beispiel #1
0
    def test_add_attribute_with_value(self):
        db = PhilDB(self.test_tsdb)
        db.add_source('EXAMPLE_SOURCE', 'Example source, i.e. a dataset')
        db.add_attribute('provider', 'Data provider')
        db.add_attribute_value('provider', 'EXAMPLE_PROVIDER')
        db.add_timeseries_instance('410730',
                                   'D',
                                   'Foo',
                                   measurand='Q',
                                   source='EXAMPLE_SOURCE')

        Session.configure(bind=db._PhilDB__engine)
        session = Session()

        timeseries = db._PhilDB__get_record_by_id('410730', session)
        measurand = db._PhilDB__get_attribute('measurand', 'Q', session)
        source = db._PhilDB__get_attribute('source', 'EXAMPLE_SOURCE', session)
        provider = db._PhilDB__get_attribute('provider', 'EXAMPLE_PROVIDER',
                                             session)

        query = session.query(TimeseriesInstance). \
                filter_by(measurand = measurand, source=source, timeseries=timeseries)

        record = query.one()
        self.assertEqual(record.timeseries.primary_id, '410730')
        self.assertEqual(record.measurand.short_id, 'Q')
        self.assertEqual(record.source.short_id, 'EXAMPLE_SOURCE')
Beispiel #2
0
    def test_add_source(self):
        db = PhilDB(self.test_tsdb)
        db.add_source('EXAMPLE_SOURCE', 'Example source, i.e. a dataset')
        db.add_timeseries_instance('410730', 'D', 'Foo', measurand = 'Q', source = 'EXAMPLE_SOURCE')

        Session.configure(bind=db._PhilDB__engine)
        session = Session()

        timeseries = db._PhilDB__get_record_by_id('410730', session)
        measurand = db._PhilDB__get_attribute('measurand', 'Q', session)
        source = db._PhilDB__get_attribute('source', 'EXAMPLE_SOURCE', session)

        query = session.query(TimeseriesInstance). \
                filter_by(measurand = measurand, source=source, timeseries=timeseries)

        record = query.one()
        self.assertEqual(record.timeseries.primary_id, '410730')
        self.assertEqual(record.measurand.short_id, 'Q')
        self.assertEqual(record.source.short_id, 'EXAMPLE_SOURCE')
Beispiel #3
0
    def test_add_ts_instance_alternate_freq(self):
        db = PhilDB(self.test_tsdb)
        db.add_timeseries_instance('410730', 'M', 'Foo', measurand = 'Q', source = 'DATA_SOURCE')

        Session.configure(bind=db._PhilDB__engine)
        session = Session()

        timeseries = db._PhilDB__get_record_by_id('410730', session)
        measurand = db._PhilDB__get_attribute('measurand', 'Q', session)
        source = db._PhilDB__get_attribute('source', 'DATA_SOURCE', session)

        query = session.query(TimeseriesInstance). \
                filter_by(measurand = measurand, source=source, timeseries=timeseries, freq='M')

        record = query.one()
        self.assertEqual(record.timeseries.primary_id, '410730')
        self.assertEqual(record.measurand.short_id, 'Q')
        self.assertEqual(record.source.short_id, 'DATA_SOURCE')
        self.assertEqual(record.freq, 'M')
Beispiel #4
0
    def test_add_ts_instance_alternate_freq(self):
        db = PhilDB(self.test_tsdb)
        db.add_timeseries_instance('410730',
                                   'M',
                                   'Foo',
                                   measurand='Q',
                                   source='DATA_SOURCE')

        Session.configure(bind=db._PhilDB__engine)
        session = Session()

        timeseries = db._PhilDB__get_record_by_id('410730', session)
        measurand = db._PhilDB__get_attribute('measurand', 'Q', session)
        source = db._PhilDB__get_attribute('source', 'DATA_SOURCE', session)

        query = session.query(TimeseriesInstance). \
                filter_by(measurand = measurand, source=source, timeseries=timeseries, freq='M')

        record = query.one()
        self.assertEqual(record.timeseries.primary_id, '410730')
        self.assertEqual(record.measurand.short_id, 'Q')
        self.assertEqual(record.source.short_id, 'DATA_SOURCE')
        self.assertEqual(record.freq, 'M')