ogn-python/tests/collect/test_database.py

35 wiersze
1.8 KiB
Python
Czysty Zwykły widok Historia

2017-12-16 20:08:01 +00:00
import unittest
from tests.base import TestBaseDB, db
2017-12-16 20:08:01 +00:00
2019-08-31 08:14:41 +00:00
from app.model import AircraftBeacon
from app.collect.database import upsert
2017-12-16 20:08:01 +00:00
class TestDatabase(TestBaseDB):
2019-08-31 08:14:41 +00:00
@unittest.skip("wip")
2019-01-27 12:59:12 +00:00
def test_insert_duplicate_beacons(self):
2019-08-31 08:14:41 +00:00
row1 = {"name": "FLRDD0815", "receiver_name": "Koenigsdf", "timestamp": "2019-01-26 11:51:00", "ground_speed": None}
row2 = {"name": "FLRDD0815", "receiver_name": "Koenigsdf", "timestamp": "2019-01-26 11:52:00", "ground_speed": 0}
row3 = {"name": "FLRDD0815", "receiver_name": "Koenigsdf", "timestamp": "2019-01-26 11:53:00", "ground_speed": 1}
row4 = {"name": "FLRDD0815", "receiver_name": "Koenigsdf", "timestamp": "2019-01-26 11:54:00", "ground_speed": None}
2019-01-27 12:59:12 +00:00
2019-08-31 08:14:41 +00:00
upsert(session=db.session, model=AircraftBeacon, rows=[row1, row2, row3, row4], update_cols=["ground_speed"])
2019-01-27 12:59:12 +00:00
2019-08-31 08:14:41 +00:00
row5 = {"name": "FLRDD0815", "receiver_name": "Koenigsdf", "timestamp": "2019-01-26 11:51:00", "ground_speed": 2}
row6 = {"name": "FLRDD0815", "receiver_name": "Koenigsdf", "timestamp": "2019-01-26 11:52:00", "ground_speed": 3}
row7 = {"name": "FLRDD0815", "receiver_name": "Koenigsdf", "timestamp": "2019-01-26 11:53:00", "ground_speed": None}
row8 = {"name": "FLRDD0815", "receiver_name": "Koenigsdf", "timestamp": "2019-01-26 11:54:00", "ground_speed": None}
2019-01-27 12:59:12 +00:00
2019-08-31 08:14:41 +00:00
upsert(session=db.session, model=AircraftBeacon, rows=[row5, row6, row7, row8], update_cols=["ground_speed"])
2019-01-27 12:59:12 +00:00
result = db.session.query(AircraftBeacon).order_by(AircraftBeacon.timestamp).all()
2019-01-27 12:59:12 +00:00
self.assertEqual(result[0].ground_speed, 2)
self.assertEqual(result[1].ground_speed, 3)
self.assertEqual(result[2].ground_speed, 1)
self.assertEqual(result[3].ground_speed, None)
2017-12-16 20:08:01 +00:00
2019-08-31 08:14:41 +00:00
if __name__ == "__main__":
2017-12-16 20:08:01 +00:00
unittest.main()