From 6aa99bd18f2d9082b81f5b7a5bd1bf65aa804d88 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Konstantin=20Gru=CC=88ndger?= Date: Wed, 13 Dec 2017 14:22:31 +0100 Subject: [PATCH] Test all model classes --- ogn/model/device_info.py | 16 ++++++++++------ ogn/model/device_info_origin.py | 2 +- ogn/model/geo.py | 2 +- tests/model/all_classes.py | 13 +++++++++---- 4 files changed, 21 insertions(+), 12 deletions(-) diff --git a/ogn/model/device_info.py b/ogn/model/device_info.py index fe543ba..a00e2c4 100644 --- a/ogn/model/device_info.py +++ b/ogn/model/device_info.py @@ -1,4 +1,5 @@ -from sqlalchemy import Column, Integer, String, Boolean, SmallInteger +from sqlalchemy import Column, Integer, String, Boolean, SmallInteger, ForeignKey +from sqlalchemy.orm import relationship from .base import Base @@ -18,15 +19,18 @@ class DeviceInfo(Base): address_origin = Column(SmallInteger) + # Relations + device_id = Column(Integer, ForeignKey('device.id', ondelete='SET NULL'), index=True) + device = relationship('Device', foreign_keys=[device_id]) + def __repr__(self): - return "" % ( + return "" % ( self.address_type, self.address, - self.name, - self.airport, self.aircraft, self.registration, self.competition, - self.frequency, self.tracked, - self.identified) + self.identified, + self.aircraft_type, + self.address_origin) diff --git a/ogn/model/device_info_origin.py b/ogn/model/device_info_origin.py index 4105169..9a3a565 100644 --- a/ogn/model/device_info_origin.py +++ b/ogn/model/device_info_origin.py @@ -4,7 +4,7 @@ class DeviceInfoOrigin: flarmnet = 2 user_defined = 3 - def __init__(self, origin): + def __init__(self, origin=0): if origin in [0, 1, 2, 3]: self.origin = origin else: diff --git a/ogn/model/geo.py b/ogn/model/geo.py index 649fc7d..69794d4 100644 --- a/ogn/model/geo.py +++ b/ogn/model/geo.py @@ -1,7 +1,7 @@ class Location: """Represents a location in WGS84""" - def __init__(self, lon, lat): + def __init__(self, lon=0, lat=0): self.longitude = lon self.latitude = lat diff --git a/tests/model/all_classes.py b/tests/model/all_classes.py index b53d613..2a6072d 100644 --- a/tests/model/all_classes.py +++ b/tests/model/all_classes.py @@ -1,14 +1,19 @@ import unittest +import inspect -from ogn.model import AircraftBeacon, Airport, ReceiverBeacon +import ogn.model class TestStringMethods(unittest.TestCase): def test_string(self): - print(AircraftBeacon()) - print(Airport()) - print(ReceiverBeacon()) + try: + for name, obj in inspect.getmembers(ogn.model): + print("Testing: {}".format(name)) + if inspect.isclass(obj): + print(obj()) + except AttributeError as e: + raise AssertionError(e) if __name__ == '__main__': unittest.main()