kopia lustrzana https://github.com/jprochazka/adsb-receiver
218 wiersze
8.0 KiB
Python
218 wiersze
8.0 KiB
Python
from flask_jwt_extended import create_access_token
|
|
|
|
# POST /link
|
|
|
|
def test_post_link_200(client, app):
|
|
with app.app_context():
|
|
access_token = create_access_token(identity="developer")
|
|
request_headers = {
|
|
'Authorization': 'Bearer {}'.format(access_token),
|
|
}
|
|
request_json = {
|
|
'name': 'Link Four',
|
|
'address': 'https://adsbportal.com/four'
|
|
}
|
|
response = client.post('/api/link', headers=request_headers, json=request_json)
|
|
assert response.status_code == 201
|
|
|
|
def test_post_link_401(client):
|
|
request_json = {
|
|
'name': 'Link Four',
|
|
'address': 'https://adsbportal.com/four'
|
|
}
|
|
response = client.post('/api/link', json=request_json)
|
|
assert response.status_code == 401
|
|
|
|
def test_post_link_400_missing_name(client, app):
|
|
with app.app_context():
|
|
access_token = create_access_token(identity="developer")
|
|
request_headers = {
|
|
'Authorization': 'Bearer {}'.format(access_token),
|
|
}
|
|
request_json = {
|
|
'address': 'https://adsbportal.com/four'
|
|
}
|
|
response = client.post('/api/link', headers=request_headers, json=request_json)
|
|
assert response.status_code == 400
|
|
|
|
def test_post_link_400_missing_address(client, app):
|
|
with app.app_context():
|
|
access_token = create_access_token(identity="developer")
|
|
request_headers = {
|
|
'Authorization': 'Bearer {}'.format(access_token),
|
|
}
|
|
request_json = {
|
|
'name': 'Link Four',
|
|
}
|
|
response = client.post('/api/link', headers=request_headers, json=request_json)
|
|
assert response.status_code == 400
|
|
|
|
# DELETE /link/{id}
|
|
|
|
def test_delete_link_204(client, app):
|
|
with app.app_context():
|
|
access_token = create_access_token(identity="developer")
|
|
request_headers = {
|
|
'Authorization': 'Bearer {}'.format(access_token),
|
|
}
|
|
response = client.delete('/api/link/1', headers=request_headers)
|
|
assert response.status_code == 204
|
|
|
|
def test_delete_link_401(client):
|
|
response = client.delete('/api/link/1')
|
|
assert response.status_code == 401
|
|
|
|
def test_delete_link_404(client, app):
|
|
with app.app_context():
|
|
access_token = create_access_token(identity="developer")
|
|
request_headers = {
|
|
'Authorization': 'Bearer {}'.format(access_token),
|
|
}
|
|
response = client.delete('/api/link/4', headers=request_headers)
|
|
assert response.status_code == 404
|
|
|
|
# GET /link/{id}
|
|
|
|
def test_get_link_200(client, app):
|
|
with app.app_context():
|
|
access_token = create_access_token(identity="developer")
|
|
request_headers = {
|
|
'Authorization': 'Bearer {}'.format(access_token),
|
|
}
|
|
response = client.get('/api/link/2', headers=request_headers)
|
|
assert response.status_code == 200
|
|
assert response.json['id'] == 2
|
|
assert response.json['address'] == "https://adsbportal.com/two"
|
|
|
|
def test_get_link_401(client, app):
|
|
response = client.get('/api/link/2')
|
|
assert response.status_code == 401
|
|
|
|
def test_get_user_404(client, app):
|
|
with app.app_context():
|
|
access_token = create_access_token(identity="developer")
|
|
request_headers = {
|
|
'Authorization': 'Bearer {}'.format(access_token),
|
|
}
|
|
response = client.get('/api/link/4', headers=request_headers)
|
|
assert response.status_code == 404
|
|
|
|
# PUT /link/{id}
|
|
|
|
def test_put_link_204(client, app):
|
|
with app.app_context():
|
|
access_token = create_access_token(identity="developer")
|
|
request_headers = {
|
|
'Authorization': 'Bearer {}'.format(access_token),
|
|
}
|
|
request_json = {
|
|
'name': 'Link Three Updated',
|
|
'address': 'https://adsbportal.com/three-updated'
|
|
}
|
|
response = client.put('/api/link/3', headers=request_headers, json=request_json)
|
|
assert response.status_code == 204
|
|
|
|
def test_put_link_401(client):
|
|
request_json = {
|
|
'name': 'Link Three Updated',
|
|
'address': 'https://adsbportal.com/three-updated'
|
|
}
|
|
response = client.put('/api/link/3', json=request_json)
|
|
assert response.status_code == 401
|
|
|
|
def test_put_link_400_missing_name(client, app):
|
|
with app.app_context():
|
|
access_token = create_access_token(identity="developer")
|
|
request_headers = {
|
|
'Authorization': 'Bearer {}'.format(access_token),
|
|
}
|
|
request_json = {
|
|
'address': 'https://adsbportal.com/three-updated'
|
|
}
|
|
response = client.put('/api/link/3', headers=request_headers, json=request_json)
|
|
assert response.status_code == 400
|
|
|
|
def test_put_link_400_missing_address(client, app):
|
|
with app.app_context():
|
|
access_token = create_access_token(identity="developer")
|
|
request_headers = {
|
|
'Authorization': 'Bearer {}'.format(access_token),
|
|
}
|
|
request_json = {
|
|
'name': 'Link Three Updated'
|
|
}
|
|
response = client.put('/api/link/3', headers=request_headers, json=request_json)
|
|
assert response.status_code == 400
|
|
|
|
def test_put_link_404(client, app):
|
|
with app.app_context():
|
|
access_token = create_access_token(identity="developer")
|
|
request_headers = {
|
|
'Authorization': 'Bearer {}'.format(access_token),
|
|
}
|
|
request_json = {
|
|
'name': 'Link Four Updated',
|
|
'address': 'https://adsbportal.com/four-updated'
|
|
}
|
|
response = client.put('/api/link/4', headers=request_headers, json=request_json)
|
|
assert response.status_code == 404
|
|
|
|
# GET /links
|
|
|
|
def test_get_links_200(client):
|
|
response = client.get('/api/links')
|
|
assert response.status_code == 200
|
|
assert response.json['offset'] == 0
|
|
assert response.json['limit'] == 50
|
|
assert response.json['count'] == 3
|
|
assert response.json['links'][0]['id'] == 1
|
|
assert response.json['links'][0]['name'] == "Link One"
|
|
assert response.json['links'][0]['address'] == "https://adsbportal.com/one"
|
|
assert response.json['links'][1]['id'] == 3
|
|
assert response.json['links'][1]['name'] == "Link Three"
|
|
assert response.json['links'][1]['address'] == "https://adsbportal.com/three"
|
|
assert response.json['links'][2]['id'] == 2
|
|
assert response.json['links'][2]['name'] == "Link Two"
|
|
assert response.json['links'][2]['address'] == "https://adsbportal.com/two"
|
|
|
|
def test_get_links_200_offset(client):
|
|
response = client.get('/api/links?offset=2')
|
|
assert response.status_code == 200
|
|
assert response.json['offset'] == 2
|
|
assert response.json['limit'] == 50
|
|
assert response.json['count'] == 1
|
|
assert response.json['links'][0]['id'] == 2
|
|
assert response.json['links'][0]['name'] == "Link Two"
|
|
assert response.json['links'][0]['address'] == "https://adsbportal.com/two"
|
|
|
|
def test_get_links_200_limit(client):
|
|
response = client.get('/api/links?limit=1')
|
|
assert response.status_code == 200
|
|
assert response.json['offset'] == 0
|
|
assert response.json['limit'] == 1
|
|
assert response.json['count'] == 1
|
|
assert response.json['links'][0]['id'] == 1
|
|
assert response.json['links'][0]['name'] == "Link One"
|
|
assert response.json['links'][0]['address'] == "https://adsbportal.com/one"
|
|
|
|
def test_get_links_200_offset_and_limit(client):
|
|
response = client.get('/api/links?offset=1&limit=1')
|
|
assert response.status_code == 200
|
|
assert response.json['offset'] == 1
|
|
assert response.json['limit'] == 1
|
|
assert response.json['count'] == 1
|
|
assert response.json['links'][0]['id'] == 3
|
|
assert response.json['links'][0]['name'] == "Link Three"
|
|
assert response.json['links'][0]['address'] == "https://adsbportal.com/three"
|
|
|
|
def test_get_links_400_offset_less_than_0(client):
|
|
response = client.get('/api/links?offset=-1')
|
|
assert response.status_code == 400
|
|
|
|
def test_get_links_400_limit_less_than_0(client):
|
|
response = client.get('/api/links?limit=-1')
|
|
assert response.status_code == 400
|
|
|
|
def test_get_links_400_limit_greater_than_100(client):
|
|
response = client.get('/api/links?limit=101')
|
|
assert response.status_code == 400 |