def test_blue(self, celery, session): reports = self.add_reports(celery, blue_factor=1, cell_factor=0, wifi_factor=0) self._update_all(session) position = reports[0]["position"] blue_data = reports[0]["bluetoothBeacons"][0] shard = BlueShard.shard_model(blue_data["macAddress"]) blues = session.query(shard).all() assert len(blues) == 1 blue = blues[0] assert blue.lat == pytest.approx(position["latitude"]) assert blue.lon == pytest.approx(position["longitude"]) assert blue.mac == blue_data["macAddress"] assert blue.samples == 1
def test_blue(self): reports = self.add_reports(blue_factor=1, cell_factor=0, wifi_factor=0) self._update_all() position = reports[0]['position'] wifi_data = reports[0]['bluetoothBeacons'][0] mac = wifi_data['macAddress'] shard = BlueShard.shard_model(mac) blues = self.session.query(shard).all() self.assertEqual(len(blues), 1) blue = blues[0] self.assertEqual(blue.lat, position['latitude']) self.assertEqual(blue.lon, position['longitude']) self.assertEqual(blue.mac, wifi_data['macAddress']) self.assertEqual(blue.samples, 1)
def test_blue(self, celery, session): reports = self.add_reports( celery, blue_factor=1, cell_factor=0, wifi_factor=0) self._update_all(session) position = reports[0]['position'] blue_data = reports[0]['bluetoothBeacons'][0] shard = BlueShard.shard_model(blue_data['macAddress']) blues = session.query(shard).all() assert len(blues) == 1 blue = blues[0] assert blue.lat == position['latitude'] assert blue.lon == position['longitude'] assert blue.mac == blue_data['macAddress'] assert blue.samples == 1
def test_blue(self, celery, session): reports = self.add_reports(celery, blue_factor=1, cell_factor=0, wifi_factor=0) self._update_all(session) position = reports[0]['position'] blue_data = reports[0]['bluetoothBeacons'][0] shard = BlueShard.shard_model(blue_data['macAddress']) blues = session.query(shard).all() assert len(blues) == 1 blue = blues[0] assert blue.lat == position['latitude'] assert blue.lon == position['longitude'] assert blue.mac == blue_data['macAddress'] assert blue.samples == 1
def test_blue_duplicated(self, celery, session): self.add_reports(celery, blue_factor=1, cell_factor=0, wifi_factor=0) # duplicate the Bluetooth entry inside the report item = self._pop_item(celery) report = item["report"] blue = report["bluetoothBeacons"][0] mac = blue["macAddress"] report["bluetoothBeacons"].append(blue.copy()) report["bluetoothBeacons"].append(blue.copy()) report["bluetoothBeacons"][1]["signalStrength"] += 2 report["bluetoothBeacons"][2]["signalStrength"] -= 2 self._push_item(celery, item) self._update_all(session) shard = BlueShard.shard_model(mac) blues = session.query(shard).all() assert len(blues) == 1 assert blues[0].samples == 1
def test_blue_duplicated(self): self.add_reports(blue_factor=1, cell_factor=0, wifi_factor=0) # duplicate the Bluetooth entry inside the report item = self._pop_item() report = item['report'] blue = report['bluetoothBeacons'][0] mac = blue['macAddress'] report['bluetoothBeacons'].append(blue.copy()) report['bluetoothBeacons'].append(blue.copy()) report['bluetoothBeacons'][1]['signalStrength'] += 2 report['bluetoothBeacons'][2]['signalStrength'] -= 2 self._push_item(item) self._update_all() shard = BlueShard.shard_model(mac) blues = self.session.query(shard).all() self.assertEqual(len(blues), 1) self.assertEqual(blues[0].samples, 1)
def test_blue_duplicated(self): self.add_reports(blue_factor=1, cell_factor=0, wifi_factor=0) # duplicate the Bluetooth entry inside the report queue = self.celery_app.export_queues['queue_export_internal'] items = queue.dequeue(queue.queue_key()) report = items[0]['report'] blue = report['bluetoothBeacons'][0] mac = blue['macAddress'] report['bluetoothBeacons'].append(blue.copy()) report['bluetoothBeacons'].append(blue.copy()) report['bluetoothBeacons'][1]['signalStrength'] += 2 report['bluetoothBeacons'][2]['signalStrength'] -= 2 queue.enqueue(items, queue.queue_key()) self._update_all() shard = BlueShard.shard_model(mac) blues = self.session.query(shard).all() self.assertEqual(len(blues), 1) self.assertEqual(blues[0].samples, 1)
def test_blue_duplicated(self, celery, session): self.add_reports( celery, blue_factor=1, cell_factor=0, wifi_factor=0) # duplicate the Bluetooth entry inside the report item = self._pop_item(celery) report = item['report'] blue = report['bluetoothBeacons'][0] mac = blue['macAddress'] report['bluetoothBeacons'].append(blue.copy()) report['bluetoothBeacons'].append(blue.copy()) report['bluetoothBeacons'][1]['signalStrength'] += 2 report['bluetoothBeacons'][2]['signalStrength'] -= 2 self._push_item(celery, item) self._update_all(session) shard = BlueShard.shard_model(mac) blues = session.query(shard).all() assert len(blues) == 1 assert blues[0].samples == 1
def test_new(self): utcnow = util.utcnow() obs = BlueObservationFactory.build() self._queue_and_update_blue([obs]) shard = BlueShard.shard_model(obs.mac) blues = self.session.query(shard).all() self.assertEqual(len(blues), 1) blue = blues[0] self.assertAlmostEqual(blue.lat, obs.lat) self.assertAlmostEqual(blue.max_lat, obs.lat) self.assertAlmostEqual(blue.min_lat, obs.lat) self.assertAlmostEqual(blue.lon, obs.lon) self.assertAlmostEqual(blue.max_lon, obs.lon) self.assertAlmostEqual(blue.min_lon, obs.lon) self.assertEqual(blue.radius, 0) self.assertEqual(blue.region, 'GB') self.assertEqual(blue.samples, 1) self.assertAlmostEqual(blue.weight, 1.0, 2) self.assertEqual(blue.created.date(), utcnow.date()) self.assertEqual(blue.modified.date(), utcnow.date()) self.assertEqual(blue.block_first, None) self.assertEqual(blue.block_last, None) self.assertEqual(blue.block_count, None)