def test_blocklist(self): now = util.utcnow() today = now.date() observations = CellObservationFactory.build_batch(3) obs = observations[0] CellShardFactory( radio=obs.radio, mcc=obs.mcc, mnc=obs.mnc, lac=obs.lac, cid=obs.cid, created=now, block_first=today - timedelta(days=10), block_last=today, block_count=1, ) self.session.commit() self._queue_and_update(observations) blocks = [] for obs in observations: shard = CellShard.shard_model(obs.cellid) cell = (self.session.query(shard).filter( shard.cellid == obs.cellid)).one() if cell.blocked(): blocks.append(cell) self.assertEqual(len(blocks), 1) self.check_statcounter(StatKey.cell, 2) self.check_statcounter(StatKey.unique_cell, 2)
def test_blocklist(self): now = util.utcnow() today = now.date() observations = CellObservationFactory.build_batch(3) obs = observations[0] CellShardFactory( radio=obs.radio, mcc=obs.mcc, mnc=obs.mnc, lac=obs.lac, cid=obs.cid, created=now, block_first=today - timedelta(days=10), block_last=today, block_count=1, ) self.session.commit() self._queue_and_update_cell(observations) blocks = [] for obs in observations: shard = CellShard.shard_model(obs.cellid) cell = (self.session.query(shard) .filter(shard.cellid == obs.cellid)).one() if cell.blocked(): blocks.append(cell) self.assertEqual(len(blocks), 1) self.check_statcounter(StatKey.cell, 2) self.check_statcounter(StatKey.unique_cell, 2)
def test_shard_queues(self): # BBB observations = CellObservationFactory.build_batch(3) data_queues = self.celery_app.data_queues single_queue = data_queues['update_cell'] single_queue.enqueue(observations) update_cell.delay().get() self.assertEqual(single_queue.size(), 0) total = 0 for shard_id in CellShard.shards().keys(): total += data_queues['update_cell_' + shard_id].size() self.assertEqual(total, 3)
def test_shard_queues(self): # BBB observations = CellObservationFactory.build_batch(3) data_queues = self.celery_app.data_queues single_queue = data_queues['update_cell'] single_queue.enqueue(observations) update_cell.delay().get() self.assertEqual(single_queue.size(), 0) total = 0 for shard_id in CellShard.shards().keys(): total += data_queues['update_cell_' + shard_id].size() self.assertEqual(total, 3)
def test_blocklist(self): now = util.utcnow() observations = CellObservationFactory.build_batch(3) obs = observations[0] block = CellBlocklist( radio=obs.radio, mcc=obs.mcc, mnc=obs.mnc, lac=obs.lac, cid=obs.cid, time=now, count=1, ) self.session.add(block) self.session.flush() self.data_queue.enqueue(observations) self.assertEqual(self.data_queue.size(), 3) update_cell.delay().get() cells = self.session.query(Cell).all() self.assertEqual(len(cells), 2) self.check_statcounter(StatKey.cell, 2) self.check_statcounter(StatKey.unique_cell, 2)