def test_cell_histogram(self): from ichnaea.content.tasks import cell_histogram session = self.db_master_session today = util.utcnow().date() yesterday = (today - timedelta(1)) two_days = (today - timedelta(2)) long_ago = (today - timedelta(3)) measures = [ CellMeasure(lat=1.0, lon=2.0, created=today), CellMeasure(lat=1.0, lon=2.0, created=today), CellMeasure(lat=1.0, lon=2.0, created=yesterday), CellMeasure(lat=1.0, lon=2.0, created=two_days), CellMeasure(lat=1.0, lon=2.0, created=two_days), CellMeasure(lat=1.0, lon=2.0, created=two_days), CellMeasure(lat=1.0, lon=2.0, created=long_ago), ] session.add_all(measures) session.commit() cell_histogram.delay(ago=3).get() stats = session.query(Stat).order_by(Stat.time).all() self.assertEqual(len(stats), 1) self.assertEqual(stats[0].key, STAT_TYPE['cell']) self.assertEqual(stats[0].time, long_ago) self.assertEqual(stats[0].value, 1) # fill up newer dates cell_histogram.delay(ago=2).get() cell_histogram.delay(ago=1).get() cell_histogram.delay(ago=0).get() # test duplicate execution cell_histogram.delay(ago=1).get() stats = session.query(Stat).order_by(Stat.time).all() self.assertEqual(len(stats), 4) self.assertEqual(stats[0].time, long_ago) self.assertEqual(stats[0].value, 1) self.assertEqual(stats[1].time, two_days) self.assertEqual(stats[1].value, 4) self.assertEqual(stats[2].time, yesterday) self.assertEqual(stats[2].value, 5) self.assertEqual(stats[3].time, today) self.assertEqual(stats[3].value, 7)
def test_cell_histogram(self): from ichnaea.content.tasks import cell_histogram session = self.db_master_session today = datetime.utcnow().date() yesterday = (today - timedelta(1)) two_days = (today - timedelta(2)) long_ago = (today - timedelta(3)) measures = [ CellMeasure(lat=10000000, lon=20000000, created=today), CellMeasure(lat=10000000, lon=20000000, created=today), CellMeasure(lat=10000000, lon=20000000, created=yesterday), CellMeasure(lat=10000000, lon=20000000, created=two_days), CellMeasure(lat=10000000, lon=20000000, created=two_days), CellMeasure(lat=10000000, lon=20000000, created=two_days), CellMeasure(lat=10000000, lon=20000000, created=long_ago), ] session.add_all(measures) session.commit() cell_histogram.delay(ago=3).get() stats = session.query(Stat).order_by(Stat.time).all() self.assertEqual(len(stats), 1) self.assertEqual(stats[0].key, STAT_TYPE['cell']) self.assertEqual(stats[0].time, long_ago) self.assertEqual(stats[0].value, 1) # fill up newer dates cell_histogram.delay(ago=2).get() cell_histogram.delay(ago=1).get() cell_histogram.delay(ago=0).get() # test duplicate execution cell_histogram.delay(ago=1).get() stats = session.query(Stat).order_by(Stat.time).all() self.assertEqual(len(stats), 4) self.assertEqual(stats[0].time, long_ago) self.assertEqual(stats[0].value, 1) self.assertEqual(stats[1].time, two_days) self.assertEqual(stats[1].value, 4) self.assertEqual(stats[2].time, yesterday) self.assertEqual(stats[2].value, 5) self.assertEqual(stats[3].time, today) self.assertEqual(stats[3].value, 7)
def test_cell_histogram(self): session = self.db_master_session today = util.utcnow().date() yesterday = (today - timedelta(1)) two_days = (today - timedelta(2)) long_ago = (today - timedelta(3)) observations = [ CellObservation(lat=1.0, lon=2.0, created=today), CellObservation(lat=1.0, lon=2.0, created=today), CellObservation(lat=1.0, lon=2.0, created=yesterday), CellObservation(lat=1.0, lon=2.0, created=two_days), CellObservation(lat=1.0, lon=2.0, created=two_days), CellObservation(lat=1.0, lon=2.0, created=two_days), CellObservation(lat=1.0, lon=2.0, created=long_ago), ] session.add_all(observations) session.commit() cell_histogram.delay(ago=3).get() stats = session.query(Stat).order_by(Stat.time).all() self.assertEqual(len(stats), 1) self.assertEqual(stats[0].key, StatKey.cell) self.assertEqual(stats[0].time, long_ago) self.assertEqual(stats[0].value, 1) # fill up newer dates cell_histogram.delay(ago=2).get() cell_histogram.delay(ago=1).get() cell_histogram.delay(ago=0).get() # test duplicate execution cell_histogram.delay(ago=1).get() stats = session.query(Stat).order_by(Stat.time).all() self.assertEqual(len(stats), 4) self.assertEqual(stats[0].time, long_ago) self.assertEqual(stats[0].value, 1) self.assertEqual(stats[1].time, two_days) self.assertEqual(stats[1].value, 4) self.assertEqual(stats[2].time, yesterday) self.assertEqual(stats[2].value, 5) self.assertEqual(stats[3].time, today) self.assertEqual(stats[3].value, 7)
def test_cell_histogram(self): session = self.session today = util.utcnow() yesterday = (today - timedelta(1)) two_days = (today - timedelta(2)) long_ago = (today - timedelta(3)) CellObservationFactory.create_batch(2, created=today) CellObservationFactory(created=yesterday) CellObservationFactory.create_batch(3, created=two_days) CellObservationFactory(created=long_ago) session.flush() cell_histogram.delay(ago=3).get() stats = session.query(Stat).order_by(Stat.time).all() self.assertEqual(len(stats), 1) self.assertEqual(stats[0].key, StatKey.cell) self.assertEqual(stats[0].time, long_ago.date()) self.assertEqual(stats[0].value, 1) # fill up newer dates cell_histogram.delay(ago=2).get() cell_histogram.delay(ago=1).get() cell_histogram.delay(ago=0).get() # test duplicate execution cell_histogram.delay(ago=1).get() stats = session.query(Stat.time, Stat.value).order_by(Stat.time).all() self.assertEqual(len(stats), 4) self.assertEqual(dict(stats), { long_ago.date(): 1, two_days.date(): 4, yesterday.date(): 5, today.date(): 7})