Added a couple flights tests.

portal
Joseph Prochazka 2024-07-17 22:08:49 -04:00
rodzic ebe3ae8a13
commit 182b689490
4 zmienionych plików z 171 dodań i 25 usunięć

Wyświetl plik

@ -14,7 +14,10 @@ def get_flight(flight):
try:
db=get_db()
cursor=db.cursor()
cursor.execute("SELECT * FROM flights WHERE flight = %s", (flight,))
cursor.execute("SELECT * FROM flights WHERE flight = ?", (flight,))
#cursor.execute("SELECT * FROM flights WHERE flight = %s", (flight,))
columns=[x[0] for x in cursor.description]
result=cursor.fetchall()
for result in result:
@ -40,7 +43,21 @@ def get_flight_positions(flight):
try:
db=get_db()
cursor=db.cursor()
cursor.execute("SELECT * FROM positions WHERE flight = %s ORDER BY time LIMIT %s, %s", (flight, offset, limit))
cursor.execute("SELECT COUNT(*) FROM flights WHERE flight = ?", (flight,))
#cursor.execute("SELECT COUNT(*) FROM flight WHERE flight = %s", (flight,))
if cursor.fetchone()[0] == 0:
return "Not Found", 404
cursor.execute("SELECT id FROM flights WHERE flight = ?", (flight,))
#cursor.execute("SELECT id FROM flights WHERE flight = %s", (flight,))
flight_id = cursor.fetchone()[0]
cursor.execute("SELECT * FROM positions WHERE flight = ? ORDER BY time LIMIT ?, ?", (flight_id, offset, limit))
#cursor.execute("SELECT * FROM positions WHERE flight = %s ORDER BY time LIMIT %s, %s", (flight, offset, limit))
columns=[x[0] for x in cursor.description]
result=cursor.fetchall()
for result in result:
@ -69,7 +86,10 @@ def get_flights():
try:
db=get_db()
cursor=db.cursor()
cursor.execute("SELECT * FROM flights ORDER BY last_seen DESC, flight LIMIT %s, %s", (offset, limit))
cursor.execute("SELECT * FROM flights ORDER BY last_seen DESC, flight LIMIT ?, ?", (offset, limit))
#cursor.execute("SELECT * FROM flights ORDER BY last_seen DESC, flight LIMIT %s, %s", (offset, limit))
columns=[x[0] for x in cursor.description]
result=cursor.fetchall()
for result in result:

Wyświetl plik

@ -6,24 +6,29 @@ VALUES
('icao04', '2024-07-17 04:40:44', '2024-06-17 04:44:04'),
('icao05', '2024-07-17 05:50:55', '2024-06-17 05:55:05');
INSERT INTO flights (`aircraft`, `flight`, `first_seen`, `last_seen`)
VALUES
(1, 'FLT0001', '2024-07-17 01:10:11', '2024-06-17 01:11:01'),
(2, 'FLT0002', '2024-07-17 02:20:22', '2024-06-17 02:22:02'),
(3, 'FLT0003', '2024-07-17 03:30:33', '2024-06-17 03:33:03'),
(5, 'FLT0005', '2024-07-17 04:40:44', '2024-06-17 04:44:04');
INSERT INTO positions (`flight`, `aircraft`, `time`, `message`, `squawk`, `latitude`, `longitude`, `track`, `altitude`, `verticle_rate`, `speed`)
VALUES
(, 1, '2024-06-17 01:11:01', , , , , 5, , , )
(, 1, '2024-06-17 01:11:46', , , , , 4, , , )
(, 1, '2024-06-17 01:11:31', , , , , 3, , , )
(, 1, '2024-06-17 01:11:16', , , , , 2, , , )
(, 1, '2024-06-17 01:10:01', , , , , 1, , , )
(, 1, '2024-07-17 01:11:11', , , , , 5, , , )
(, 1, '2024-07-17 01:10:56', , , , , 4, , , )
(, 1, '2024-07-17 01:10:41', , , , , 3, , , )
(, 1, '2024-07-17 01:10:26', , , , , 2, , , )
(, 1, '2024-07-17 01:10:11', , , , , 1, , , )
(, 5, '2024-06-17 05:55:05', , , , , 4, , , )
(, 5, '2024-07-17 05:50:20', , , , , 3, , , )
(, 5, '2024-07-17 05:50:35', , , , , 2, , , )
(, 5, '2024-07-17 05:50:55', , , , , 1, , , )
(1, 1, '2024-06-17 01:11:01', 204, 6523, 42.649292, -84.960896, 98, 46975, 0, 477),
(1, 1, '2024-06-17 01:11:46', 289, 6523, 42.646408, -84.934304, 98, 46975, 0, 477),
(1, 1, '2024-06-17 01:11:31', 309, 6523, 42.637567, -84.8538, 98, 47000, 64, 476),
(1, 1, '2024-06-17 01:11:16', 455, 6523, 42.631622, -84.799971, 99, 47000, 0, 475),
(1, 1, '2024-06-17 01:10:01', 532, 6523, 42.625946, -84.748785, 99, 47000, 64, 474),
(1, 1, '2024-07-17 01:11:11', 11696, 1621, 41.384474, -83.586981, 276, 41725, 0, 380),
(1, 1, '2024-07-17 01:10:56', 11718, 1621, 41.38916, -83.650839, 276, 41725, 64, 380),
(1, 1, '2024-07-17 01:10:41', 11771, 1621, 41.392993, -83.701065, 275, 41700, -192, 378),
(1, 1, '2024-07-17 01:10:26', 11787, 1621, 41.394017, -83.71582, 275, 41725, -192, 378),
(1, 1, '2024-07-17 01:10:11', 11790, 1621, 41.394017, -83.71582, 275, 41725, -192, 378),
(4, 5, '2024-06-17 05:55:05', 323, 1317, 41.774163, -83.827344, 91, 36475, 832, 486),
(4, 5, '2024-07-17 05:50:20', 340, 1317, 41.773837, -83.788828, 91, 36625, 960, 487),
(4, 5, '2024-07-17 05:50:35', 417, 1317, 41.773464, -83.749737, 91, 36825, 768, 487),
(4, 5, '2024-07-17 05:50:55', 504, 1317, 41.772903, -83.690727, 91, 37225, 1216, 484);
INSERT INTO users (`name`, `email`, `login`, `password`, `administrator`)
VALUES

Wyświetl plik

@ -3,10 +3,10 @@
def test_get_aircraft_200(client):
response = client.get('/api/aircraft/icao01')
assert response.status_code == 200
assert response.json['aircraft']['id'] == 1
assert response.json['aircraft']['icao'] == "icao01"
assert response.json['aircraft']['first_seen'] == "2024-07-17 01:10:11"
assert response.json['aircraft']['last_seen'] == "2024-06-17 01:11:01"
assert response.json['id'] == 1
assert response.json['icao'] == "icao01"
assert response.json['first_seen'] == "2024-07-17 01:10:11"
assert response.json['last_seen'] == "2024-06-17 01:11:01"
def test_get_aircraft_404(client):
response = client.get('/api/aircraft/icao00')
@ -14,9 +14,60 @@ def test_get_aircraft_404(client):
# GET /api/aircraft/{icao}/positions
def test_get_aircraft_200(client):
response = client.get('/api/aircraft/icao00/positions')
def test_get_aircraft_positions_200(client):
response = client.get('/api/aircraft/icao05/positions')
assert response.status_code == 200
assert response.json['offset'] == 0
assert response.json['limit'] == 500
assert response.json['count'] == 4
assert response.json['positions'][0]['id'] == 11
assert response.json['positions'][0]['flight'] == 4
assert response.json['positions'][0]['aircraft'] == 5
assert response.json['positions'][0]['time'] == '2024-06-17 05:55:05'
assert response.json['positions'][0]['message'] == 323
assert response.json['positions'][0]['squawk'] == 1317
assert response.json['positions'][0]['latitude'] == 41.774163
assert response.json['positions'][0]['longitude'] == -83.827344
assert response.json['positions'][0]['track'] == 91
assert response.json['positions'][0]['altitude'] == 36475
assert response.json['positions'][0]['verticle_rate'] == 832
assert response.json['positions'][0]['speed'] == 486
assert response.json['positions'][1]['id'] == 12
assert response.json['positions'][1]['flight'] == 4
assert response.json['positions'][1]['aircraft'] == 5
assert response.json['positions'][1]['time'] == '2024-07-17 05:50:20'
assert response.json['positions'][1]['message'] == 340
assert response.json['positions'][1]['squawk'] == 1317
assert response.json['positions'][1]['latitude'] == 41.773837
assert response.json['positions'][1]['longitude'] == -83.788828
assert response.json['positions'][1]['track'] == 91
assert response.json['positions'][1]['altitude'] == 36625
assert response.json['positions'][1]['verticle_rate'] == 960
assert response.json['positions'][1]['speed'] == 487
assert response.json['positions'][2]['id'] == 13
assert response.json['positions'][2]['flight'] == 4
assert response.json['positions'][2]['aircraft'] == 5
assert response.json['positions'][2]['time'] == '2024-07-17 05:50:35'
assert response.json['positions'][2]['message'] == 417
assert response.json['positions'][2]['squawk'] == 1317
assert response.json['positions'][2]['latitude'] == 41.773464
assert response.json['positions'][2]['longitude'] == -83.749737
assert response.json['positions'][2]['track'] == 91
assert response.json['positions'][2]['altitude'] == 36825
assert response.json['positions'][2]['verticle_rate'] == 768
assert response.json['positions'][2]['speed'] == 487
assert response.json['positions'][3]['id'] == 14
assert response.json['positions'][3]['flight'] == 4
assert response.json['positions'][3]['aircraft'] == 5
assert response.json['positions'][3]['time'] == '2024-07-17 05:50:55'
assert response.json['positions'][3]['message'] == 504
assert response.json['positions'][3]['squawk'] == 1317
assert response.json['positions'][3]['latitude'] == 41.772903
assert response.json['positions'][3]['longitude'] == -83.690727
assert response.json['positions'][3]['track'] == 91
assert response.json['positions'][3]['altitude'] == 37225
assert response.json['positions'][3]['verticle_rate'] == 1216
assert response.json['positions'][3]['speed'] == 484
def test_get_aircraft_404(client):
response = client.get('/api/aircraft/icao00/positions')

Wyświetl plik

@ -0,0 +1,70 @@
# GET /api/flight/{flight}
def test_get_flight_200(client):
response = client.get('/api/flight/FLT0001')
assert response.status_code == 200
assert response.json['id'] == 1
assert response.json['aircraft'] == 1
assert response.json['first_seen'] == "2024-07-17 01:10:11"
assert response.json['last_seen'] == "2024-06-17 01:11:01"
def test_get_flight_404(client):
response = client.get('/api/flight/FLT0000')
assert response.status_code == 404
# GET /api/flight/{flight}/positions
def test_get_flight_positions_200(client):
response = client.get('/api/flight/FLT0005/positions')
assert response.status_code == 200
assert response.json['offset'] == 0
assert response.json['limit'] == 500
assert response.json['count'] == 4
assert response.json['positions'][0]['id'] == 11
assert response.json['positions'][0]['flight'] == 4
assert response.json['positions'][0]['aircraft'] == 5
assert response.json['positions'][0]['time'] == '2024-06-17 05:55:05'
assert response.json['positions'][0]['message'] == 323
assert response.json['positions'][0]['squawk'] == 1317
assert response.json['positions'][0]['latitude'] == 41.774163
assert response.json['positions'][0]['longitude'] == -83.827344
assert response.json['positions'][0]['track'] == 91
assert response.json['positions'][0]['altitude'] == 36475
assert response.json['positions'][0]['verticle_rate'] == 832
assert response.json['positions'][0]['speed'] == 486
assert response.json['positions'][1]['id'] == 12
assert response.json['positions'][1]['flight'] == 4
assert response.json['positions'][1]['aircraft'] == 5
assert response.json['positions'][1]['time'] == '2024-07-17 05:50:20'
assert response.json['positions'][1]['message'] == 340
assert response.json['positions'][1]['squawk'] == 1317
assert response.json['positions'][1]['latitude'] == 41.773837
assert response.json['positions'][1]['longitude'] == -83.788828
assert response.json['positions'][1]['track'] == 91
assert response.json['positions'][1]['altitude'] == 36625
assert response.json['positions'][1]['verticle_rate'] == 960
assert response.json['positions'][1]['speed'] == 487
assert response.json['positions'][2]['id'] == 13
assert response.json['positions'][2]['flight'] == 4
assert response.json['positions'][2]['aircraft'] == 5
assert response.json['positions'][2]['time'] == '2024-07-17 05:50:35'
assert response.json['positions'][2]['message'] == 417
assert response.json['positions'][2]['squawk'] == 1317
assert response.json['positions'][2]['latitude'] == 41.773464
assert response.json['positions'][2]['longitude'] == -83.749737
assert response.json['positions'][2]['track'] == 91
assert response.json['positions'][2]['altitude'] == 36825
assert response.json['positions'][2]['verticle_rate'] == 768
assert response.json['positions'][2]['speed'] == 487
assert response.json['positions'][3]['id'] == 14
assert response.json['positions'][3]['flight'] == 4
assert response.json['positions'][3]['aircraft'] == 5
assert response.json['positions'][3]['time'] == '2024-07-17 05:50:55'
assert response.json['positions'][3]['message'] == 504
assert response.json['positions'][3]['squawk'] == 1317
assert response.json['positions'][3]['latitude'] == 41.772903
assert response.json['positions'][3]['longitude'] == -83.690727
assert response.json['positions'][3]['track'] == 91
assert response.json['positions'][3]['altitude'] == 37225
assert response.json['positions'][3]['verticle_rate'] == 1216
assert response.json['positions'][3]['speed'] == 484