kopia lustrzana https://github.com/glidernet/ogn-python
65 wiersze
2.1 KiB
Python
65 wiersze
2.1 KiB
Python
import unittest
|
|
import os
|
|
|
|
from ogn.model import AircraftBeacon, ReceiverBeacon, Device, Receiver, DeviceInfo
|
|
from ogn.collect.database import update_devices, update_receivers, import_ddb_file
|
|
|
|
|
|
class TestDB(unittest.TestCase):
|
|
session = None
|
|
engine = None
|
|
app = None
|
|
|
|
def setUp(self):
|
|
os.environ['OGN_CONFIG_MODULE'] = 'config.test'
|
|
from ogn.commands.dbutils import engine, session
|
|
self.session = session
|
|
self.engine = engine
|
|
|
|
from ogn.commands.database import init
|
|
init()
|
|
|
|
def tearDown(self):
|
|
session = self.session
|
|
session.execute("DELETE FROM device_infos")
|
|
session.execute("DELETE FROM devices")
|
|
session.execute("DELETE FROM receivers")
|
|
session.execute("DELETE FROM aircraft_beacons")
|
|
session.execute("DELETE FROM receiver_beacons")
|
|
session.commit()
|
|
|
|
def test_update_devices(self):
|
|
session = self.session
|
|
|
|
ab01 = AircraftBeacon(receiver_name='Koenigsdf', address='DD4711', timestamp='2017-12-10 10:00:00')
|
|
rb01 = ReceiverBeacon(name='Bene', timestamp='2017-12-10 09:59:50')
|
|
d01 = Device(address='DD4711')
|
|
r01 = Receiver(name='Koenigsdf')
|
|
session.bulk_save_objects([ab01, rb01, d01, r01])
|
|
|
|
update_devices(session)
|
|
update_receivers(session)
|
|
|
|
aircraft_beacons = session.query(AircraftBeacon).all()
|
|
self.assertEqual(len(aircraft_beacons), 1)
|
|
aircraft_beacon = aircraft_beacons[0]
|
|
self.assertEqual(aircraft_beacon.device.address, 'DD4711')
|
|
self.assertEqual(aircraft_beacon.receiver.name, 'Koenigsdf')
|
|
|
|
receiver_beacons = session.query(ReceiverBeacon).all()
|
|
self.assertEqual(len(receiver_beacons), 1)
|
|
receiver_beacon = receiver_beacons[0]
|
|
self.assertEqual(receiver_beacon.receiver.name, 'Bene')
|
|
|
|
def test_import_ddb_file(self):
|
|
session = self.session
|
|
|
|
import_ddb_file(session, path=os.path.dirname(__file__) + '/../custom_ddb.txt')
|
|
|
|
device_infos = session.query(DeviceInfo).all()
|
|
self.assertEqual(len(device_infos), 6)
|
|
|
|
|
|
if __name__ == '__main__':
|
|
unittest.main()
|