def test_multiple(self): self._add([ (1.0, 2.0, self.yesterday), (-10.0, 40.0, self.yesterday), ]) self._queue([ (1.0, 2.0), (1.0, 2.0), (40.0011, 3.0011), (40.0012, 3.0012), (40.0013, 3.0013), (0.0, 0.0), (1.0, 2.0), (1.00001, 2.00001), ]) for shard_id in DataMap.shards(): update_datamap.delay(batch=2, shard_id=shard_id).get() rows = [] for shard in DataMap.shards().values(): rows.extend(self.session.query(shard).all()) self.assertEqual(len(rows), 4) created = set() modified = set() positions = set() for row in rows: lat, lon = row.grid created.add(row.created) modified.add(row.modified) positions.add((lat / 1000.0, lon / 1000.0)) self.assertEqual(created, set([self.today, self.yesterday])) self.assertEqual(modified, set([self.today, self.yesterday])) self.assertEqual( positions, set([(1.0, 2.0), (-10.0, 40.0), (0.0, 0.0), (40.001, 3.001)]))
def test_one(self): lat = 1.234567 lon = 2.345678 shard_id = DataMap.shard_id(*DataMap.scale(lat, lon)) self._queue([(lat, lon)]) update_datamap.delay(shard_id=shard_id).get() grids = self.session.query(DataMap.shards()[shard_id]).all() self.assertEqual(len(grids), 1) self._check_position(grids[0], 1.235, 2.346) self.assertEqual(grids[0].created, self.today) self.assertEqual(grids[0].modified, self.today)
def test_one(self, celery, session): lat = 1.234567 lon = 2.345678 shard_id = DataMap.shard_id(*DataMap.scale(lat, lon)) self._queue(celery, [(lat, lon)]) update_datamap.delay(shard_id=shard_id).get() grids = session.query(DataMap.shards()[shard_id]).all() assert len(grids) == 1 self._check_position(grids[0], 1.235, 2.346) assert grids[0].created == self.today assert grids[0].modified == self.today
def test_update(self): lat = 1.0 lon = 2.0 shard_id = DataMap.shard_id(*DataMap.scale(lat, lon)) self._add([(lat, lon, self.yesterday)]) self._queue([(lat, lon)]) update_datamap.delay(shard_id=shard_id).get() grids = self.session.query(DataMap.shards()[shard_id]).all() self.assertEqual(len(grids), 1) self._check_position(grids[0], 1.0, 2.0) self.assertEqual(grids[0].created, self.yesterday) self.assertEqual(grids[0].modified, self.today)
def test_update(self, celery, session): lat = 1.0 lon = 2.0 shard_id = DataMap.shard_id(*DataMap.scale(lat, lon)) self._add(session, [(lat, lon, self.yesterday)]) self._queue(celery, [(lat, lon)]) update_datamap.delay(shard_id=shard_id).get() grids = session.query(DataMap.shards()[shard_id]).all() assert len(grids) == 1 self._check_position(grids[0], 1.0, 2.0) assert grids[0].created == self.yesterday assert grids[0].modified == self.today
def test_multiple(self, celery, session): self._add( session, [ (0.0, 1.0, self.today), (1.0, 2.0, self.yesterday), (-10.0, 40.0, self.yesterday), ], ) self._queue( celery, [ (0.0, 1.0), (1.0, 2.0), (1.0, 2.0), (40.0011, 3.0011), (40.0012, 3.0012), (40.0013, 3.0013), (0.0, 0.0), (1.0, 2.0), (1.00001, 2.00001), ], ) for shard_id in DataMap.shards(): update_datamap.delay(shard_id=shard_id).get() rows = [] for shard in DataMap.shards().values(): rows.extend(session.query(shard).all()) assert len(rows) == 5 created = set() modified = set() positions = set() for row in rows: lat, lon = row.grid created.add(row.created) modified.add(row.modified) positions.add((lat / 1000.0, lon / 1000.0)) assert created == set([self.today, self.yesterday]) assert modified == set([self.today, self.yesterday]) assert positions == set([(0.0, 0.0), (0.0, 1.0), (1.0, 2.0), (-10.0, 40.0), (40.001, 3.001)])
def test_multiple(self, celery, session): self._add(session, [ (0.0, 1.0, self.today), (1.0, 2.0, self.yesterday), (-10.0, 40.0, self.yesterday), ]) self._queue(celery, [ (0.0, 1.0), (1.0, 2.0), (1.0, 2.0), (40.0011, 3.0011), (40.0012, 3.0012), (40.0013, 3.0013), (0.0, 0.0), (1.0, 2.0), (1.00001, 2.00001), ]) for shard_id in DataMap.shards(): update_datamap.delay(shard_id=shard_id).get() rows = [] for shard in DataMap.shards().values(): rows.extend(session.query(shard).all()) assert len(rows) == 5 created = set() modified = set() positions = set() for row in rows: lat, lon = row.grid created.add(row.created) modified.add(row.modified) positions.add((lat / 1000.0, lon / 1000.0)) assert created == set([self.today, self.yesterday]) assert modified == set([self.today, self.yesterday]) assert (positions == set([ (0.0, 0.0), (0.0, 1.0), (1.0, 2.0), (-10.0, 40.0), (40.001, 3.001)]))
def test_empty(self): for shard_id, shard in DataMap.shards().items(): update_datamap.delay(shard_id=shard_id).get() self.assertEqual(self.session.query(shard).count(), 0)
def test_empty(self, celery, session): for shard_id, shard in DataMap.shards().items(): update_datamap.delay(shard_id=shard_id).get() assert session.query(shard).count() == 0