def test_search(db_session, client): edka = airports.merzbrueck() lva = clubs.lva() add_fixtures( db_session, users.john(), users.jane(), lva, clubs.sfn(), edka, airports.meiersberg(), ) res = client.get("/search?text=aachen") assert res.status_code == 200 assert res.json == { "results": [ { "id": edka.id, "type": "airport", "name": "Aachen Merzbruck", "icao": "EDKA", "frequency": "122.875", }, { "id": lva.id, "type": "club", "name": "LV Aachen", "website": "http://www.lv-aachen.de", }, ] }
def test_non_json_data(db_session, client, test_user): sfn = clubs.sfn() test_user.club = sfn add_fixtures(db_session, sfn) res = client.post('/clubs/{id}'.format(id=sfn.id), headers=auth_for(test_user), data='foobar?') assert res.status_code == 400 assert res.json['error'] == 'invalid-request'
def test_non_json_data(db_session, client, test_user): sfn = clubs.sfn() test_user.club = sfn add_fixtures(db_session, sfn) res = client.post("/clubs/{id}".format(id=sfn.id), headers=auth_for(test_user), data="foobar?") assert res.status_code == 400 assert res.json["error"] == "invalid-request"
def test_invalid_data(db_session, client, test_user): sfn = clubs.sfn() test_user.club = sfn add_fixtures(db_session, sfn) res = client.post( "/clubs/{id}".format(id=sfn.id), headers=auth_for(test_user), json={"name": ""} ) assert res.status_code == 422 assert res.json["error"] == "validation-failed"
def test_invalid_data(db_session, client, test_user): sfn = clubs.sfn() test_user.club = sfn add_fixtures(db_session, sfn) res = client.post('/clubs/{id}'.format(id=sfn.id), headers=auth_for(test_user), json={ 'name': '', }) assert res.status_code == 422 assert res.json['error'] == 'validation-failed'
def test_name_filter(db_session, client): add_fixtures(db_session, clubs.sfn(), clubs.lva()) res = client.get("/clubs?name=LV%20Aachen") assert res.status_code == 200 assert res.json == S( {"clubs": ExactSequence([{ "id": int, "name": "LV Aachen" }])})
def test_invalid_data(db_session, client, test_user): sfn = clubs.sfn() test_user.club = sfn add_fixtures(db_session, sfn) res = client.post("/clubs/{id}".format(id=sfn.id), headers=auth_for(test_user), json={"name": ""}) assert res.status_code == 422 assert res.json["error"] == "validation-failed"
def test_existing_club(db_session, client, test_user): lva = clubs.lva() sfn = clubs.sfn() test_user.club = sfn add_fixtures(db_session, lva) res = client.post('/clubs/{id}'.format(id=sfn.id), headers=auth_for(test_user), json={ 'name': 'LV Aachen', }) assert res.status_code == 422 assert res.json['error'] == 'duplicate-club-name'
def test_invalid_data(db_session, client, test_user): sfn = clubs.sfn() test_user.club = sfn add_fixtures(db_session, sfn) res = client.post('/clubs/{id}'.format(id=sfn.id), headers=auth_for(test_user), json={ 'name': '', }) assert res.status_code == 422 assert res.json['error'] == 'validation-failed'
def test_update_without_authentication(db_session, client): sfn = clubs.sfn() add_fixtures(db_session, sfn) res = client.post( "/clubs/{id}".format(id=sfn.id), json={"name": "foobar", "website": "https://foobar.de"}, ) assert res.status_code == 401 club = Club.get(sfn.id) assert club.name == "Sportflug Niederberg" assert club.website == None
def test_existing_club(db_session, client, test_user): lva = clubs.lva() sfn = clubs.sfn() test_user.club = sfn add_fixtures(db_session, lva) res = client.post( "/clubs/{id}".format(id=sfn.id), headers=auth_for(test_user), json={"name": "LV Aachen"}, ) assert res.status_code == 422 assert res.json["error"] == "duplicate-club-name"
def test_name_filter(db_session, client): sfn = clubs.sfn() lva = clubs.lva() add_fixtures(db_session, sfn, lva) res = client.get('/clubs?name=LV%20Aachen') assert res.status_code == 200 assert res.json == { 'clubs': [{ 'id': lva.id, 'name': 'LV Aachen', }] }
def test_existing_club(db_session, client, test_user): lva = clubs.lva() sfn = clubs.sfn() test_user.club = sfn add_fixtures(db_session, lva) res = client.post('/clubs/{id}'.format(id=sfn.id), headers=auth_for(test_user), json={ 'name': 'LV Aachen', }) assert res.status_code == 422 assert res.json['error'] == 'duplicate-club-name'
def test_name_filter(db_session, client): sfn = clubs.sfn() lva = clubs.lva() add_fixtures(db_session, sfn, lva) res = client.get('/clubs?name=LV%20Aachen') assert res.status_code == 200 assert res.json == { 'clubs': [{ 'id': lva.id, 'name': 'LV Aachen', }] }
def test_existing_club(db_session, client, test_user): lva = clubs.lva() sfn = clubs.sfn() test_user.club = sfn add_fixtures(db_session, lva) res = client.post( "/clubs/{id}".format(id=sfn.id), headers=auth_for(test_user), json={"name": "LV Aachen"}, ) assert res.status_code == 422 assert res.json["error"] == "duplicate-club-name"
def test_update_without_authentication(db_session, client): sfn = clubs.sfn() add_fixtures(db_session, sfn) res = client.post('/clubs/{id}'.format(id=sfn.id), json={ 'name': 'foobar', 'website': 'https://foobar.de', }) assert res.status_code == 401 club = Club.get(sfn.id) assert club.name == 'Sportflug Niederberg' assert club.website == None
def test_update(db_session, client, test_user): sfn = clubs.sfn() test_user.club = sfn add_fixtures(db_session, sfn) res = client.post('/clubs/{id}'.format(id=sfn.id), headers=auth_for(test_user), json={ 'name': 'foobar', 'website': 'https://foobar.de', }) assert res.status_code == 200 club = Club.get(sfn.id) assert club.name == 'foobar' assert club.website == 'https://foobar.de'
def test_sfn(db_session, client): sfn = clubs.sfn() add_fixtures(db_session, sfn) res = client.get('/clubs/{id}'.format(id=sfn.id)) assert res.status_code == 200 assert res.json == { u'id': sfn.id, u'name': u'Sportflug Niederberg', u'timeCreated': '2017-01-01T12:34:56+00:00', u'website': None, u'isWritable': False, u'owner': None, }
def test_pilot_changing_disallowed_copilot(db_session, client): """ Pilot is trying to change copilot to user from different club. """ john = users.john(club=clubs.lva()) max = users.max(club=clubs.sfn()) flight = flights.one(igc_file=igcs.simple(owner=john)) add_fixtures(db_session, flight, john, max) response = client.post('/flights/{id}'.format(id=flight.id), headers=auth_for(john), json={ 'pilotId': john.id, 'copilotId': max.id, }) assert response.status_code == 422
def test_update_without_authentication(db_session, client): sfn = clubs.sfn() add_fixtures(db_session, sfn) res = client.post('/clubs/{id}'.format(id=sfn.id), json={ 'name': 'foobar', 'website': 'https://foobar.de', }) assert res.status_code == 401 club = Club.get(sfn.id) assert club.name == 'Sportflug Niederberg' assert club.website == None
def test_sfn(db_session, client): sfn = clubs.sfn() add_fixtures(db_session, sfn) res = client.get("/clubs/{id}".format(id=sfn.id)) assert res.status_code == 200 assert res.json == { u"id": sfn.id, u"name": u"Sportflug Niederberg", u"timeCreated": "2017-01-01T12:34:56+00:00", u"website": None, u"isWritable": False, u"owner": None, }
def test_update(db_session, client, test_user): sfn = clubs.sfn() test_user.club = sfn add_fixtures(db_session, sfn) res = client.post( "/clubs/{id}".format(id=sfn.id), headers=auth_for(test_user), json={"name": "foobar", "website": "https://foobar.de"}, ) assert res.status_code == 200 club = Club.get(sfn.id) assert club.name == "foobar" assert club.website == "https://foobar.de"
def test_pilot_changing_disowned_flight(db_session, client): """ Unrelated user is trying to change pilots. """ john = users.john(club=clubs.lva()) jane = users.jane(club=john.club) max = users.max(club=clubs.sfn()) flight = flights.one(igc_file=igcs.simple(owner=john)) add_fixtures(db_session, flight, john, jane, max) response = client.post('/flights/{id}'.format(id=flight.id), headers=auth_for(jane), json={ 'pilotId': john.id, 'copilotId': max.id, }) assert response.status_code == 403
def test_update(db_session, client, test_user): sfn = clubs.sfn() test_user.club = sfn add_fixtures(db_session, sfn) res = client.post('/clubs/{id}'.format(id=sfn.id), headers=auth_for(test_user), json={ 'name': 'foobar', 'website': 'https://foobar.de', }) assert res.status_code == 200 club = Club.get(sfn.id) assert club.name == 'foobar' assert club.website == 'https://foobar.de'
def test_update_without_authentication(db_session, client): sfn = clubs.sfn() add_fixtures(db_session, sfn) res = client.post( "/clubs/{id}".format(id=sfn.id), json={ "name": "foobar", "website": "https://foobar.de" }, ) assert res.status_code == 401 club = Club.get(sfn.id) assert club.name == "Sportflug Niederberg" assert club.website == None
def test_list_all(db_session, client): sfn = clubs.sfn() lva = clubs.lva() add_fixtures(db_session, sfn, lva) res = client.get('/clubs') assert res.status_code == 200 assert res.json == { 'clubs': [{ 'id': lva.id, 'name': 'LV Aachen', }, { 'id': sfn.id, 'name': 'Sportflug Niederberg', }] }
def test_list_all(db_session, client): sfn = clubs.sfn() lva = clubs.lva() add_fixtures(db_session, sfn, lva) res = client.get('/clubs') assert res.status_code == 200 assert res.json == { 'clubs': [{ 'id': lva.id, 'name': 'LV Aachen', }, { 'id': sfn.id, 'name': 'Sportflug Niederberg', }] }
def test_list_all(db_session, client): add_fixtures(db_session, clubs.sfn(), clubs.lva()) res = client.get("/clubs") assert res.status_code == 200 assert res.json == S({ "clubs": ExactSequence([ { "id": int, "name": "LV Aachen" }, { "id": int, "name": "Sportflug Niederberg" }, ]) })
def test_update(db_session, client, test_user): sfn = clubs.sfn() test_user.club = sfn add_fixtures(db_session, sfn) res = client.post( "/clubs/{id}".format(id=sfn.id), headers=auth_for(test_user), json={ "name": "foobar", "website": "https://foobar.de" }, ) assert res.status_code == 200 club = Club.get(sfn.id) assert club.name == "foobar" assert club.website == "https://foobar.de"
def test_search_doe(db_session, client): john = users.john() jane = users.jane() add_fixtures(db_session, john, jane, clubs.lva(), clubs.sfn(), airports.merzbrueck(), airports.meiersberg()) res = client.get('/search?text=doe') assert res.status_code == 200 assert res.json == { 'results': [{ 'id': jane.id, 'type': 'user', 'name': 'Jane Doe', }, { 'id': john.id, 'type': 'user', 'name': 'John Doe', }], }
def test_search_doe(db_session, client): john = users.john() jane = users.jane() add_fixtures(db_session, john, jane, clubs.lva(), clubs.sfn(), airports.merzbrueck(), airports.meiersberg()) res = client.get('/search?text=doe') assert res.status_code == 200 assert res.json == { 'results': [{ 'id': jane.id, 'type': 'user', 'name': 'Jane Doe', }, { 'id': john.id, 'type': 'user', 'name': 'John Doe', }], }
def test_search(db_session, client): edka = airports.merzbrueck() lva = clubs.lva() add_fixtures(db_session, users.john(), users.jane(), lva, clubs.sfn(), edka, airports.meiersberg()) res = client.get('/search?text=aachen') assert res.status_code == 200 assert res.json == { 'results': [{ 'id': edka.id, 'type': 'airport', 'name': 'Aachen Merzbruck', 'icao': 'EDKA', 'frequency': '122.875', }, { 'id': lva.id, 'type': 'club', 'name': 'LV Aachen', 'website': 'http://www.lv-aachen.de', }], }
def test_search_doe(db_session, client): john = users.john() jane = users.jane() add_fixtures( db_session, john, jane, clubs.lva(), clubs.sfn(), airports.merzbrueck(), airports.meiersberg(), ) res = client.get("/search?text=doe") assert res.status_code == 200 assert res.json == { "results": [ {"id": jane.id, "type": "user", "name": "Jane Doe"}, {"id": john.id, "type": "user", "name": "John Doe"}, ] }
def test_search(db_session, client): edka = airports.merzbrueck() lva = clubs.lva() add_fixtures(db_session, users.john(), users.jane(), lva, clubs.sfn(), edka, airports.meiersberg()) res = client.get('/search?text=aachen') assert res.status_code == 200 assert res.json == { 'results': [{ 'id': edka.id, 'type': 'airport', 'name': 'Aachen Merzbruck', 'icao': 'EDKA', 'frequency': '122.875', }, { 'id': lva.id, 'type': 'club', 'name': 'LV Aachen', 'website': 'http://www.lv-aachen.de', }], }