Esempio n. 1
0
    def test_storeSources(self):
        """Store and retrieve DiaSources."""
        config = PpdbConfig(db_url="sqlite:///",
                            isolation_level="READ_UNCOMMITTED",
                            read_sources_months=12,
                            read_forced_sources_months=12)
        ppdb = Ppdb(config)
        ppdb.makeSchema()

        pixel_ranges = _makePixelRanges()
        visit_time = datetime.datetime.now()

        # have to store Objects first
        if self.use_pandas:
            objects = _makeObjectCatalogPandas(pixel_ranges)
            catalog, oids = _makeSourceCatalogPandas(objects)
        else:
            objects = _makeObjectCatalog(pixel_ranges)
            catalog, oids = _makeSourceCatalog(objects)

        # save the objects
        ppdb.storeDiaObjects(objects, visit_time)

        # save the sources
        ppdb.storeDiaSources(catalog)

        # read it back and check sizes
        res = ppdb.getDiaSourcesInRegion(pixel_ranges, visit_time, self.use_pandas)
        self._assertCatalog(res, len(catalog), type=self.data_type)

        # read it back using different method
        res = ppdb.getDiaSources(oids, visit_time, self.use_pandas)
        self._assertCatalog(res, len(catalog), type=self.data_type)
Esempio n. 2
0
    def test_emptyGetsBaseline0months(self):
        """Test for getting data from empty database.

        All get() methods should return empty results, only useful for
        checking that code is not broken.
        """

        # set read_sources_months to 0 so that Forced/Sources are None
        config = PpdbConfig(db_url="sqlite:///",
                            isolation_level="READ_UNCOMMITTED",
                            read_sources_months=0,
                            read_forced_sources_months=0)
        ppdb = Ppdb(config)
        ppdb.makeSchema()

        pixel_ranges = _makePixelRanges()
        visit_time = datetime.datetime.now()

        # get objects by region
        res = ppdb.getDiaObjects(pixel_ranges, return_pandas=self.use_pandas)
        self._assertCatalog(res, 0, type=self.data_type)

        # get sources by region
        res = ppdb.getDiaSourcesInRegion(pixel_ranges, visit_time, return_pandas=self.use_pandas)
        self.assertIs(res, None)

        # get sources by object ID, empty object list
        res = ppdb.getDiaSources([], visit_time, return_pandas=self.use_pandas)

        # get forced sources by object ID, empty object list
        res = ppdb.getDiaForcedSources([], visit_time, return_pandas=self.use_pandas)
        self.assertIs(res, None)